2012-04-23 27 views
7

He revisado la documentación de Flask, tanto la guía de inicio rápido como la de carga de archivos, y no encuentro nada sobre cómo obtener el tamaño de un archivo. Por lo que entiendo, solo me dieron el nombre del archivo en la unidad de los usuarios y el nombre del campo de entrada que contenía el archivo cargado.Python - Obteniendo el tamaño de archivo del objeto desde la carga de archivos en Flask

Además de escribir el archivo en el disco y luego verificar el tamaño con os.path.getsize, ¿hay alguna manera de obtener el tamaño de un objeto de archivo?

que he estado haciendo:

f.seek(0,SEEK_END) 
f.tell() 

Tiene que haber una mejor manera correcta?

Respuesta

2

En caso de un campo de subida como <input type="file" name="foo"/> en la página HTML, request.files['foo'] le da un objeto, que tiene un atributo entero llamado content_length. Este es el tamaño del archivo cargado en bytes, consulte el uso de ejemplos aquí: https://github.com/dnet/photochecklist/blob/5072331/model.py#L78

+2

El atributo content_length puede no estar presente, y puede ser falsificado por el cliente. –

Cuestiones relacionadas