2012-03-02 5 views
6

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

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()) 
+0

Sì il mio file finiti in request.data perché Flask non può gestire il tipo MIME. – Adrian

Problemi correlati