【发布时间】:2025-12-02 19:10:01
【问题描述】:
请,这个最小代码给我这个请求错误: 400 {"detail":"解析正文时出错"} 但它在 swagger ui 上工作得很好。
main.py
import shutil
import uvicorn
from fastapi import FastAPI, File, UploadFile
app = FastAPI()
@app.post("/upload")
async def upload(file: UploadFile = File(...)):
try:
with open('save.txt', "wb") as buffer:
shutil.copyfileobj(file.file, buffer)
except:
return {'State':'Fail'}
finally:
file.file.close()
return {'State':'Done'}
if __name__ == "__main__":
uvicorn.run("main:app", host="127.0.0.1",
port=8000, log_level="debug", reload="true")
query.py
import requests
url = 'http://localhost:8000/upload'
headers = {'Content-Type':'multipart/form-data'}
files = [
("file", ("file1.txt", open("F://test.txt", "rb"), "text/txt"))
]
response = requests.post(url, files=files, headers=headers)
print(response.status_code, response.text)
# The response is :
# 400 {"detail":"There was an error parsing the body"}
【问题讨论】:
-
它工作@alex_noname
-
好的,亚历克斯,谢谢
标签: file python-requests upload multipart fastapi