2012-03-02 7 views
6

Estoy trabajando en una aplicación web usando Flask. Se supone que una de las vistas acepta archivos cargados a través de solicitudes PUT, sin embargo, solo puedo recibir solicitudes POST con $ curl -F [email protected] URL para que funcionen correctamente. Con las solicitudes PUT como $ curl --upload-file filenname URL, el request.files ImmutableMultiDict está vacío. ¿Me estoy perdiendo algo en Flask o tal vez con el uso de curl?PUT solicitud para cargar un archivo que no funciona en Flask

Respuesta

6

solicitud PUT es la manera diferente en comparación a la solicitud POST. Con la solicitud PUT, se puede acceder al contenido del archivo usando request.data o request.stream. El primero se almacena los datos entrantes como cadena, mientras que request.stream actúa más como un objeto de archivo, por lo que es más adecuado para los datos binarios:

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

Si mi archivo terminaron en request.data porque el frasco no puede manejar su tipo MIME. – Adrian

Cuestiones relacionadas