Sto lavorando su un'applicazione web usando Flask. Una delle viste dovrebbe accettare i file caricati tramite richieste PUT, tuttavia posso solo ottenere richieste POST con $ curl -F [email protected] URL
per funzionare correttamente. Con richieste PUT come $ curl --upload-file filenname URL
il valore request.files
ImmutableMultiDict è vuoto. Mi sto perdendo qualcosa in Flask o forse usando l'arricciatura?Richiesta PUT per caricare un file che non funziona in Flask
6
A
risposta
6
La richiesta PUT è molto diversa rispetto alla richiesta POST. Con la richiesta PUT è possibile accedere ai contenuti del file utilizzando request.data
o request.stream
. I primi negozi in arrivo uno dei dati come stringa, mentre request.stream
si comporta più come un oggetto file, rendendolo più adatto per dati binari:
with open('uploaded_image.jpg', 'w') as f:
f.write(request.stream.read())
Sì il mio file finiti in request.data perché Flask non può gestire il tipo MIME. – Adrian