利用Python开发一个上传文件的服务

准备工作:

1、安装uvicorn,利用其来作为web服务器

2、安装Starlette,利用其来作为web开发框架

3、安装python-multipart,让其支持form表达形式的文件上传

4、postman:文件上传的发起者,这样我们就不用写前端界面了

代码:

python 复制代码
import uvicorn
from starlette.applications import Starlette
from starlette.responses import JSONResponse
from starlette.datastructures import UploadFile
from starlette.routing import Route
import asyncio


async def semanticTextualDeduplication(request):
    lineSize = 0
    try:
        form: UploadFile = await request.form()
        file = form["file"]
        contents = await file.read()
        content_str = contents.decode('utf-8')
        lines = content_str.splitlines()
        lineSize = len(lines)
        for line in lines:
            print(line.strip())
    except Exception as e:
        # 处理其他异常
        print("发生了异常:", e)
    return JSONResponse({"lineSize": lineSize})

app = Starlette(
    routes=[
        Route("/api/semanticTextualDeduplication.do", semanticTextualDeduplication, methods=["POST"]),
    ],
)


@app.on_event("startup")
async def startup_event():
    q = asyncio.Queue()
    app.model_queue = q


if __name__ == "__main__":
    uvicorn.run("message_receive:app", host="0.0.0.0", port=8080, access_log=False)

测试:

1、打开postman:

1.1、注意第一个文件参数,需要在输入key以后选择 key的类型为file

2、结果:

相关推荐
TT_44194 分钟前
python程序实现图片截图溯源功能
开发语言·python
小陈的进阶之路1 小时前
logging 日志模块笔记
python
cqbelt1 小时前
Python 并发编程实战学习笔记
笔记·python·学习
智算菩萨1 小时前
【论文复现】Applied Intelligence 2025:Auto-PU正例无标签学习的自动化实现与GPT-5.4辅助编程实战
论文阅读·python·gpt·学习·自动化·复现
小陈工2 小时前
2026年3月31日技术资讯洞察:AI智能体安全、异步编程突破与Python运行时演进
开发语言·jvm·数据库·人工智能·python·安全·oracle
老李的勺子3 小时前
Agent 记忆失效的 5 种方式:完整排查复盘
python·llm
Leo655353 小时前
动态透视报表 + 查询接口 + Excel导出
开发语言·windows·python
清水白石0083 小时前
pytest Fixture 设计实战指南:作用域、依赖链、自动清理与测试资源高效复用
python·pytest
tottoramen3 小时前
如何安装龙虾
python
QC·Rex3 小时前
AI Agent 任务规划实战:从 ReAct 到 Plan-and-Solve 的完整指南
人工智能·python·react