繁体   English   中英

未从Pylons响应中返回Content-Length标头

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM