我需要将文件流式传输到Response以保存在最终用户的计算机上。该文件是纯文本,因此我可以使用哪种内容类型来阻止文本在浏览器中显示?
答案 0 :(得分:25)
在大多数情况下,以下情况应该有效:
Content-type: application/octet-stream
Content-Disposition: attachment; filename="myfile.txt"
有一些边缘情况的浏览器仍会将其显示为文本文件,但主流浏览器都不会(我说的是嵌入在某些MID中的浏览器)。
编辑:最初发布此答案时,发送Mime-Type application/octet-stream
是在某些浏览器中触发下载的唯一可靠方式。现在在2016年,如果您不需要支持古老的浏览器,您可以安全地指定适当的mime类型。
答案 1 :(得分:23)
为了安全起见并确保在所有浏览器中保持一致的行为,通常最好同时使用这两种浏览器:
Content-Type: application/octet-stream
Content-Disposition: attachment;filename=\"My Text File.txt\"
答案 2 :(得分:7)
我不认为它是这样的。
使用Content-Disposition: attachment
标题,但坚持使用正确的内容类型。