2012-04-23 131 views
7

我已經瀏覽了Flask文檔,既有快速入門指南,也有文件上傳指南,並且找不到有關獲取文件大小的任何信息。據我所知,我只給出用戶驅動器上的文件名稱,以及包含上傳文件的輸入字段的名稱。Python - 從Flask的文件上傳中獲取文件對象的文件大小

除了將文件寫入磁盤,然後用os.path.getsize檢查大小之外,有沒有辦法獲取文件對象的大小?

我一直在做:

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

必須有正確的更好的辦法?

回答

2

如果HTML頁面中的上傳字段爲<input type="file" name="foo"/>request.files['foo']會爲您提供一個對象,該對象具有一個名爲content_length的整數屬性。這是以字節爲單位上傳文件的大小,請參閱此處的示例用法:https://github.com/dnet/photochecklist/blob/5072331/model.py#L78

+2

content_length屬性可能不存在,並且可能由客戶端僞造。 – 2014-10-16 09:12:16