http - 如何在不强制 "save as"对话框的情况下设置响应文件名

标签 http http-headers httpwebresponse httpresponse content-disposition

我在一些响应中返回一个流,设置了适当的 content-type header 。我正在寻找的行为是这样的:

  • 如果浏览器能够呈现给定内容类型的内容,那么它应该在浏览器窗口中显示它。

  • 如果浏览器不知道如何呈现内容,那么它应该显示“另存为”对话框,其中文件名应该是响应中提供的文件名。

问题是,如果我将 Content-Disposition header 设置为:

"attachment; filename="myfile.txt""

浏览器将始终显示“另存为”对话框。

如果我不设置 Content-Disposition,“另存为”对话框中使用的文件名是 URL 中的文件名,但在我的情况下不起作用。

我也尝试将 Content-Disposition 设置为 inline 但结果是一样的。

最佳答案

正确的做法是:

Content-Disposition: inline; filename="myfile.txt"

关于http - 如何在不强制 "save as"对话框的情况下设置响应文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1741353/

相关文章:

http - AT指令移远MC60

c++ - HTTP Content-Length 大小不正确?

c# - HttpListenerResponse 及其 ContentLength64 属性的无限值

c# - HttpWebRequest/HttpWebResponse 的速度

http - 为已使用的名称返回什么 HTTP 错误代码?

http - http get请求的参数可以是url吗?

http - Angular 2 : Recursion with Callbacks and REST api calls

google-chrome - Chrome 浏览器如何决定何时发送 OPTIONS?

java - RestEASY 拦截器未被调用

c# - 检测 WebRequest 的 HTTP 代理错误