没有中间临时文件的POST二进制数据



我想使用Python请求上传一个文件,但我已经将该文件作为二进制数据。我能让它工作的唯一方法是将二进制数据写入文件并再次打开该文件:

with open("tempfile.tmp", 'wb+') as tmp:
tmp.write(binary_data)
tmp.seek(0)
files = {'file_input': tmp}
r = requests.post(url, files=files)

在我看来,如果没有临时文件,这应该是可能的。我尝试过这个没有成功:

data = {'file_input': binary_data}
r = requests.post(url, data=data)

我做错了什么?

我找到了:我需要提供一个文件名。

r = requests.post(url, files={'file_input': ("tempfile.tmp", binary_data)})

谢谢耍蛇人给我指对了方向。

最新更新