我正在尝试使用python请求模块上传文件,我不确定我们是否可以在后期调用中同时使用数据和文件。
fileobj= open(filename,'rb')
upload_data = {
'data':payload,
'file':fileobj
}
resp = s.post(upload_url,data=upload_data,headers=upload_headers)
这不起作用。所以有人可以帮我这个吗?
答案 0 :(得分:1)
我认为你应该在post请求中使用data
和files
关键字参数来分别发送数据和文件。
with open(filename,'rb') as fileobj:
files = {'file': fileobj}
resp = s.post(upload_url,data=payload,files=files,headers=upload_headers)
我还使用了一个上下文管理器,因为它为我关闭了文件,并处理在文件打开期间或在请求发布时发生的异常时发生的异常。