python请求- post文件multipart (http-status-code-400) &



使用请求2.26.0。我想发送一个文件到服务器。

下面使用fastapi swagger ui的结果代码是好的,但是我从python代码中得到:{"detail":"解析正文"}出错

@router.post("/send/{email}")
async def send(email: str , files: List[UploadFile] = File(...)):
return user.send(email, files)

和send函数:

def send(email: str, files):
for file in files:
with open(f'{file.filename}', "wb") as buffer:
shutil.copyfileobj(file.file, buffer)
print(email)
send_email(email, 'F:/PROJECT/scan2excel/input/ss.xls')
return {'file_name':'good'}

I test from main:

def upload_data(self, files_paths):
url = 'http://localhost:8000/user/send/'+str(self.email)
headers = {'Content-Type':'multipart/form-data; charset=utf-8; boundary=---- WebKitFormBoundary9JTSxAotKGVAuzQF'}
f={"file": ("filename", open('F:/PROJECT/scan2excel/input/1.jpg', "rb"), "image/jpeg")}
response = requests.post(url, files=f, headers=headers) 

fastapi swagger ui:

https://ibb.co/XyGtXMK

反应:https://ibb.co/k0fYKQG