使用python请求上传文件

时间:2019-12-24 12:36:23

标签: python python-requests

我在尝试将文件上传到API时遇到问题。在宽阔的用户界面中,我没有问题手动上传Excel文件。当我尝试使用请求上传上传文件时,我收到415错误(文件格式无效)。这是该发布请求的简单代码:

 headers = {
        'Authorization':"bearer "+ CLIENT.token,
        'Content-Type': 'form-data' 
           }
 files = [('file', open(path_to_file, 'rb'))]

 response = requests.post(api_url,  
    files=files,
    headers=headers)

我的回复的状态码为415,我不知道发生了什么。使用招摇工具时,我检查了newtwork浏览器,并在请求中看到了此标头

Content-Type: multipart/form-data; boundary=----WebKitFormBoundarywkrdGd3ROh0GkfsW

但是,我不知道术语“边界”是什么,并且如果我将此标头手动传递给请求,则API会抛出500。

1 个答案:

答案 0 :(得分:1)

服务器在说您的Content-Type错误。如果您要上传.xls文件,请使用:

'Content-Type': 'application/vnd.ms-excel'

如果您要上传.xlsx文件,请使用:

'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'