代码之家  ›  专栏  ›  技术社区  ›  EMP

内容长度头未从桥塔响应返回

  •  2
  • EMP  · 技术社区  · 14 年前

    我还在努力 Stream a file to the HTTP response in Pylons . 除了最初的问题,我发现我不能返回Content-Length头文件,因此对于大型文件,客户机无法估计下载需要多长时间。我试过了

    response.content_length = 12345
    

    我试过了

    response.headers['Content-Length'] = 12345
    

    在这两种情况下,HTTP响应(在fiddler中查看)都不包含内容长度头。我如何让塔架返回这个头部?

    (哦,如果你有什么想法让它流文件,请回复原始问题-我完全没有想法。)

    编辑: 而不是一般的解决方案,用于服务静态文件 FileApp allows sending the Content-Length header . 对于动态内容,它看起来像 马特利 答案是唯一的选择。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Alex Martelli    14 年前

    有一些中间件代码 here 这样可以确保所有响应在缺少内容长度头的情况下都获得该头。您可以对其进行调整,以便在响应中设置其他头段(比如“x-the-content-length”),并且中间件使用该头段来设置内容长度(如果后者丢失的话)。我把这整件事看作是我所认为的塔架缺陷的一个解决办法(它对内容长度的傲慢态度!)但很明显塔架的作者不同意我的观点,所以最好至少有解决方法!-)

        2
  •  0
  •   Peter McG    14 年前

    尝试:

    response.headerlist.append((str("Content-Length"), str(" 123456")))