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