默认情况下,Asp.Net MVC(至少我的设置)似乎发送带有值
的标头Cache-Control: private, s-maxage=0
我需要删除s-maxage = 0部分。原因是IE6似乎处理内容处置:如果此标头存在,则附件标头错误。
我观察到的最终效果是,如果用户选择打开下载的文件而不是保存它,则实际上并未保存。工作的非mvc版本和非工作的mvc版本之间的区别只是这个标题。
工作回复:
HTTP/1.1 200 OK
Server: ASP.NET Development Server/9.0.0.0
Date: Thu, 10 Feb 2011 19:35:47 GMT
X-AspNet-Version: 2.0.50727
Content-Disposition: attachment; filename=results.txt
Cache-Control: private
Content-Type: text/plain; charset=iso-8859-1
Content-Length: 210
Connection: Close
<<DATA>>
非工作回复:
HTTP/1.1 200 OK
Server: ASP.NET Development Server/9.0.0.0
Date: Thu, 10 Feb 2011 20:24:04 GMT
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 1.0
Content-Disposition: attachment; filename=results.txt
Cache-Control: private, s-maxage=0
Content-Type: text/plain
Content-Length: 90
Connection: Close
<<DATA>>
答案 0 :(得分:0)
您使用的是哪个版本的MVC?我正在使用MVC 4,默认情况下(例如使用Internet模板时的主页),标题符合您的要求:
Cache-Control: private