[英]Serving static files in Flask with Content-Length in HTTP response header
[英]Content-Length header not returned from Pylons response
我仍在努力将文件传输到Pylons中的HTTP响应 。 除了原始问题之外,我发现我无法返回Content-Length标头,因此对于大文件,客户端无法估计下载将花费多长时间。 我试过了
response.content_length = 12345
我已经尝试过
response.headers['Content-Length'] = 12345
在这两种情况下,HTTP响应(在Fiddler中查看)都根本不包含Content-Length标头。 如何获得塔返回此标头?
(哦,如果您有任何使它流式传输文件的想法,请回复原始问题-我在那里的想法都没有。)
编辑:虽然不是通用解决方案,但用于提供静态文件的FileApp
允许发送Content-Length标头 。 对于动态内容, Alex Martelli的答案似乎是唯一的选择。
有一点中间件代码在这里 ,以确保所有响应得到内容长度标题,如果他们错过它。 您可以对其进行调整,以便在响应中设置其他标头(例如“ X-The-Content-Length”),如果缺少后者,中间件将使用该标头来增加内容长度。 我认为整件事是我认为是塔架错误(它对内容长度的武断态度!)的一种解决方法,但是显然,塔架作者在这一点上与我不同意,因此至少有解决方法很不错!-)
尝试:
response.headerlist.append((str("Content-Length"), str(" 123456")))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.