我仍在努力达到Stream a file to the HTTP response in Pylons。除了原始问题之外,我发现我无法返回Content-Length标题,因此对于大型文件,客户端无法估计下载将花费多长时间。我已经试过内容长度标题未从标语响应返回
response.content_length = 12345
和我试图
response.headers['Content-Length'] = 12345
在两种情况下的HTTP响应(在提琴手观察)根本不包含的Content-Length头。我如何让Pylons返回这个头文件?
(哦,如果你有使它流的文件请回复到原来的问题任何想法 - 我所有的想法在那里。)
编辑:而不是一个通用的解决方案,用于提供静态文件FileApp
allows sending the Content-Length header。对于动态内容,它看起来像Alex Martelli的答案是唯一的选择。
谢谢,亚历克斯,中间件作品的那一点。我甚至不需要修改它 - 因为无论如何我无法让“流式传输”工作,调用'len(body)'返回正确的值。不过,我不确定为什么这么简单的事情需要一些“中间件”。 恭喜击中100K,顺便说一句! – EMP 2010-05-06 04:20:02
@evgeny,如果你能说服Pylons的提交者说内容的长度应该总是被返回,你就会赢得包括我在内的每个人的感激 - 但看起来他们还是相信了。感谢恭喜! - ) – 2010-05-06 04:23:40
好吧,不要介意“永远”,但至少如果我手动将它设置在标题中它应该被返回! – EMP 2010-05-06 23:01:35