我对扭曲完全陌生,需要一点推动力。我正在寻找一种方法来提供除 htm 页面之外的动态生成的文件 - 例如 csv 文件。
编辑:碰巧,虽然 'content-type' 的改变对于 csv 文件就足够了,但我需要的是改变请求的'content-disposition':
request.responseHeaders.setRawHeaders('content-disposition', ['attachment; filename="file.csv"'])
设置正确的Content-type
标题。
request.responseHeaders.setRawHeaders('content-type', ['text/csv'])
如何做到这一点的基本思想是生成这样的 HTTP 响应:
...
Content-Type: text/csv; charset=utf-8
1,2,3,4
...
我不知道你是否熟悉原始 HTTP 请求的外观,但它由两个主要字段组成:
并且它们被分隔\r\n\r\n
。因此,您只需发送新Content-Type
标头(设置为text/csv
),然后发送二进制内容而不是 HTML。
在扭曲的情况下,这显然是可能的槽setHeader
方法。
你可以看看: