我正在使用 Flask 开发 Web 应用程序。其中一个 View 应该通过 PUT 请求接受上传的文件,但是我只能使用 $ curl -F upload=@filename URL
获取 POST 请求才能正常工作。对于诸如 $ curl --upload-file filenname URL
之类的 PUT 请求,request.files
ImmutableMultiDict 为空。我是在 Flask 中遗漏了什么,还是在使用 curl 时遗漏了什么?
最佳答案
PUT 请求与 POST 请求有很大不同。通过 PUT 请求,可以使用 request.data
访问文件内容或 request.stream
.第一个将传入数据存储为字符串,而 request.stream
更像一个文件对象,使其更适合二进制数据:
with open('uploaded_image.jpg', 'w') as f:
f.write(request.stream.read())
关于python - PUT 请求上传在 Flask 中不起作用的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9533462/