I am working on a web application using Flask. One of the views is supposed to accept uploaded files through PUT requests, however I only can get POST requests with $ curl -F upload=@filename URL
to work properly. With PUT requests such as $ curl --upload-file filenname URL
the request.files
ImmutableMultiDict is empty. Am I missing something in Flask or maybe with using curl?
PUT request is way different compared to POST request. With PUT request the file contents can be accessed using either request.data
or request.stream
. The first one stores incoming data as string, while request.stream
acts more like a file object, making it more suitable for binary data:
with open('uploaded_image.jpg', 'w') as f:
f.write(request.stream.read())
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With