提供动态生成的文件而不是htm

时间:2013-04-27 23:23:56

标签: python web twisted

我是全新的扭曲,需要一点推进。我正在寻找一种方法来提供除htm页面之外的动态生成的文件 - 例如csv文件。

编辑: 碰巧的是,虽然'content-type'的更改足以满足csv文件,但我需要的是更改请求的'content-disposition':

request.responseHeaders.setRawHeaders('content-disposition', ['attachment; filename="file.csv"'])

2 个答案:

答案 0 :(得分:2)

设置正确的Content-type标题。

request.responseHeaders.setRawHeaders('content-type', ['text/csv'])

答案 1 :(得分:1)

如何做到这一点的基本思想是生成如下的HTTP响应:

...
Content-Type: text/csv; charset=utf-8

1,2,3,4
...

我不知道您是否熟悉原始HTTP请求的外观,但它包含两个主要字段:

  • body(html)

他们被\r\n\r\n隔开。因此,您只需发送新的Content-Type header(设置为text/csv),然后发送二进制内容而不是HTML。

在扭曲中,显然可能通过setHeader方法。

编辑 - 基于评论的其他HTTP信息

你可以看看: