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

Python如何获取Postman无URL发送的文件对象并实现读取保存

Python处理POST/PUT接口上传文件的实现方法

以下为两种主流Python Web框架的操作方案,适配Postman form-data格式上传文件的场景:


1. Flask框架实现

1.1 获取文件对象

  • 从request.files中读取和Postman form-data字段对应的文件对象即可,示例中字段名为file,可根据你的实际配置修改:
from flask import Flask, request
app = Flask(__name__)

@app.route('/upload', methods=['POST', 'PUT'])
def upload_file():
    # 获取上传的文件对象
    file_obj = request.files.get('file')
    if not file_obj:
        return {"code": 400, "msg": "未检测到上传文件"}, 400

1.2 读取内容并保存

  • 可直接调用内置保存方法,也可手动读取内容后自定义写入:
# 方法1:直接保存到指定路径
    save_path = f'./{file_obj.filename}'
    file_obj.save(save_path)
    
    # 方法2:手动读取内容写入,适合需要中间修改文件内容的场景
    # content = file_obj.read()
    # with open(save_path, 'wb') as f:
    #     f.write(content)
    
    return {"code": 200, "msg": "文件保存成功", "save_path": save_path}

if __name__ == '__main__':
    app.run(port=5000)

2. FastAPI框架实现

2.1 获取文件对象

  • 用框架内置的UploadFile依赖直接注入获取文件对象:
from fastapi import FastAPI, File, UploadFile
import uvicorn

app = FastAPI()

@app.put('/upload')
@app.post('/upload')
async def upload_file(file: UploadFile = File(None)):
    if not file:
        return {"code": 400, "msg": "未检测到上传文件"}

2.2 读取内容并保存

# 读取文件内容并写入本地
    save_path = f'./{file.filename}'
    content = await file.read()
    with open(save_path, 'wb') as f:
        f.write(content)
    # 操作完成后关闭文件对象释放资源
    await file.close()
    
    return {"code": 200, "msg": "文件保存成功", "save_path": save_path}

if __name__ == '__main__':
    uvicorn.run(app, port=8000)

注意:Postman发送请求时需要选择form-data格式,对应文件字段的类型要切换为File而非默认的Text,字段名需要和代码里读取的key保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:48:03