2013-09-29 26 views
6

kullanarak dosya yüklerken çok uzun 'Content-Length' bu geliştirme aygıtımda bu Tornado upload app'un biraz değiştirilmiş bir sürümünü kullanarak, büyük dosyaları yüklemeye çalıştığımda kasırga sunucusundan ve boş bir sayfasından aşağıdaki hatayı alıyorum (+ 100MB):Tornado

[I 130.929 07:45:44 HTTPServer: 330] 127.0.0.1 dan Bozuk HTTP isteği: çok uzun Content-Length

için ~ 20MB kadar dosya yükleme hiçbir sorun yoktur

.

Tornado web sunucusunda belirli bir dosya yükleme sınırı olup olmadığını merak ediyorum? Veya makinenin mevcut hafızası ile ilgili bir şey var mı. Sebep ne olursa olsun, bu sorunun üstesinden nasıl gelebilirim?

cevap

11

Tornado, yükleme boyutunda yapılandırılabilir bir sınırlamaya sahiptir (varsayılan 10MB'ye kadar). max_buffer_size'u HTTPServer yapıcısına (veya Application.listen) geçirerek sınırı artırabilirsiniz. Ancak, Tornado (sürüm 3.1) tüm yükleme gövdesini bellekte tek bir bitişik dizeye okurken, sınırı çok yüksek yapmak tehlikelidir. Bir popüler alternatif nginx upload module.

+1

tornadoweb 4'de tornado.web.stream_request_body dekoratörümüz var, nginx artık gerekli değil. – nagylzs

+0

Varsayılan değer şimdi 100mb'dir (bu yorumun tarihi itibariyle Tornado/4.4.1) – gordonc

İlgili konular