Python 使用表单数据体上载文件

Python 使用表单数据体上载文件,python,python-requests,Python,Python Requests,我需要使用一个API上传一个PNG文件,上面写着: 请求主体接受密钥为uploadedFile的多部分/表单数据 使用Chrome postman插件,我可以使用API上传文件,我就是这么做的: Header: none Body type: form-data key: uploadedFile Value: <file-location> POST 您需要在uploadedFile名称下上载文件。不要将该名称与路径一起使用,请将文件本身命名为: 邮递员也做同样的事情

我需要使用一个API上传一个PNG文件,上面写着:

请求主体接受密钥为uploadedFile的多部分/表单数据

使用Chrome postman插件,我可以使用API上传文件,我就是这么做的:

Header: none
Body
  type: form-data
  key: uploadedFile
  Value: <file-location>
POST

您需要在
uploadedFile
名称下上载文件。不要将该名称与路径一起使用,请将文件本身命名为:

邮递员也做同样的事情;它获取文件位置,加载文件数据并以名称
uploadedFile
发送文件数据

您会收到错误消息,因为通过在
数据
部分中使用
上传文件
,您发送了一个
表单数据
部分,其中没有mimetype和二进制数据,它只是一个本地文件路径字符串,而不是PNG或其他图像数据。
文件
部分可能会被完全忽略,因为这不是服务器要查找的名称

login = requests.post(login_url, <other options>)
# above login is successful

upload_url = "Some_Value"
file_path = '/root/sample.png'
file = {'file': ('pngfile', open(file_path, 'rb'), 'image/png')}

body  = { 'uploadedFile':  file_path}

post_file = requests.post(upload_url, files=file, data=body,  cookies=login.cookies, verify=False)
Bad Request[ errorCode:-18 ,message:Unsupported image file format. Please upload an image in GIF, JPEG or PNG format.]
upload_url = "Some_Value"
file_path = '/root/sample.png'
file = {'uploadedFile': ('pngfile', open(file_path, 'rb'), 'image/png')}

post_file = requests.post(upload_url, files=file, cookies=login.cookies, verify=False)