2012-04-23 21 views
7

Flask belgelerine, hem hızlı başlangıç ​​kılavuzuna hem de dosya yükleme kılavuzuna baktım ve bir dosyanın dosya boyutunu alma konusunda hiçbir şey bulamıyorum. Anladığım kadarıyla, sadece kullanıcı sürücüsündeki dosyanın adını ve yüklenen dosyayı içeren giriş alanının adını verdim.Python - Dosya nesnesinin dosya boyutundan dosya boyutuna erişme Flask'taki dosya yükleme boyutu

Dosyayı diske yazmanın ve sonra os.path.getsize ile boyutunu denetlemenin dışında, bir dosya nesnesinin boyutunu elde etmenin bir yolu var mı?

ben yapıyorum:

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

sağ daha iyi bir yolu olmalı?

cevap

2

HTML sayfasında <input type="file" name="foo"/> gibi bir yükleme alanı olması durumunda, request.files['foo'] size content_length adında bir tamsayı özelliğine sahip bir nesne verir. Bu, yüklenen dosyanın bayt cinsinden boyutudır, bkz. Örnek kullanımı: https://github.com/dnet/photochecklist/blob/5072331/model.py#L78

+2

content_length özniteliği mevcut olmayabilir ve istemci tarafından oluşturulabilir. –