PUT请求上传不在Flask中工作的文件

时间:2012-03-02 12:41:26

标签: python http flask http-method http-put

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

1 个答案:

答案 0 :(得分:6)

与POST请求相比,PUT请求有所不同。通过PUT请求,可以使用request.datarequest.stream访问文件内容。第一个将输入数据存储为字符串,而request.stream更像是文件对象,使其更适合二进制数据:

with open('uploaded_image.jpg', 'w') as f:
    f.write(request.stream.read())