You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Starlette解码Postman上传的MP4文件

解决Starlette接收Postman上传MP4文件的问题

实现步骤

  • 解析请求的表单数据:Starlette处理文件上传需先通过request.form()异步获取multipart/form-data类型的表单内容
  • 读取文件内容:从表单中取出文件对象后,通过read()方法将文件二进制内容读取到变量中

修改后的完整代码

from starlette.requests import Request
from starlette.routing import Route
from starlette.applications import Starlette
from starlette.responses import PlainTextResponse   

class Post:
    async def PostValuesToDb(request: Request):
        # 解析表单数据(包含上传的文件)
        form_data = await request.form()
        # 获取上传文件,"file"需与Postman中设置的Key值完全匹配
        uploaded_file = form_data.get("file")
        
        if uploaded_file:
            # 将文件二进制内容读取到变量中
            file_content = await uploaded_file.read()
            # 此处可添加对file_content的后续处理逻辑(如存入数据库、本地存储等)
            print(f"已读取文件内容,大小:{len(file_content)}字节")
        
        return PlainTextResponse("true")


routes = [
    Route("/post", Post.PostValuesToDb, name="PostValuesToDb", methods=["POST"]),
]

app = Starlette(routes=routes)

关键说明

  • await request.form():必须异步调用,用于解析Postman上传文件时使用的multipart/form-data编码格式请求
  • form_data.get("file"):括号内的字符串要和Postman表单中设置的Key完全一致(对应你截图里Key列的内容)
  • await uploaded_file.read():异步读取文件的二进制内容,结果存入file_content变量,可直接用于后续业务处理

内容的提问来源于stack exchange,提问作者SPMK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 19:57:35