2012-03-02 2 views
6

Je travaille sur une application web en utilisant Flask. L'une des vues est supposée accepter les fichiers téléchargés via les requêtes PUT, mais je peux seulement obtenir des requêtes POST avec $ curl -F [email protected] URL pour fonctionner correctement. Avec les requêtes PUT telles que $ curl --upload-file filenname URL, le request.files ImmutableMultiDict est vide. Ai-je manqué quelque chose dans Flask ou peut-être avec l'aide de curl?Demande PUT pour télécharger un fichier ne fonctionnant pas dans Flask

Répondre

6

La requête PUT est très différente de la requête POST. Avec la requête PUT, le contenu du fichier peut être accédé en utilisant request.data ou request.stream. Les premiers on stocke les données entrantes sous forme de chaîne, alors que request.stream agit plus comme un objet fichier, ce qui rend plus approprié pour les données binaires:

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

Oui mon dossier a fini dans request.data parce Flask ne peut pas gérer son type mime. – Adrian

Questions connexes