上传和上传文件时不保存python请求

时间:2020-04-17 10:53:22

标签: python django python-3.x django-rest-framework

我有一个Web服务器,可以充当用户和文件服务器之间的代理。用户可以将他们的文件上传到我的Web服务器,而我也将它们上传到文件服务器。我希望能够在不保存临时上载文件的情况下执行此操作,但是每次我从文件服务器收到意外的文件结尾错误时,都可以这样做。这是我的代码(我的API使用django rest框架)。

headers = {"content-type":"multipart/form; boundary={}".format(uuid.uuid4().hex)}
files = []
for f in request.FILES.getlist('file'):
    files.append((f.name, open(f.file.name,'rb'), f.content_type))
files_dict = {'file': files}

r = requests.post(url, files=files, headers=headers)

1 个答案:

答案 0 :(得分:2)

您在请求中滥用了content-type标头。如果您使用multipart/form中的boundary参数,则无需手动设置filesrequests。这就是为什么您意外收到文件错误的原因。尝试发送不带该标头的请求。

r = requests.post(url, files=files)