我正在使用Flask开发Web应用程序。其中一种 View 应该通过PUT请求接受上载的文件,但是我只能通过$ curl -F upload=@filename URL来获得POST请求才能正常工作。对于诸如$ curl --upload-file filenname URL的PUT请求,request.files ImmutableMultiDict为空。我是否在Flask中缺少某些东西,或者可能是使用curl丢失了?

最佳答案

与POST请求相比,PUT请求的方式有所不同。通过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/

10-13 00:59