我在这里遇到了一个奇怪的问题:在 ASP.NET 控制器中,我这样做:
public ActionResult ExportTex()
{
Response.ContentType = "text/plain";
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + Server.HtmlEncode("overview.tex") + "\"");
return View(_model);
}
这应该使我的浏览器(FireFox 17)打开文件下载对话框并使用相应的文件名进行下载。然而,无论我如何在 Content-Disposition 标头中命名文件(即通过 FireFox 下载时文件名为overview.tex.sdx ),文件名总是在提供的扩展名.tex之外附加扩展名“.sdx” 。
如果有人能向我解释这个额外扩展的来源,我将不胜感激。
只有 FireFox 有这种行为。Chromium 反而像一个魅力。
//编辑根据要求,这是 FireFox 获得的标题:
X-SourceFiles:=?UTF-8?[... doesn't matter I guess]?=
X-Powered-By:ASP.NET
X-AspNetMvc-Version:4.0
X-AspNet-Version:4.0.30319
Vary:Accept-Encoding
Set-Cookie:.ASPXROLES=; expires=Mon, 11-Oct-1999 22:00:00 GMT; path=/; HttpOnly
Server:Microsoft-IIS/8.0
Date:Sat, 24 Nov 2012 15:13:40 GMT
Content-Type:text/plain; charset=utf-8
Content-Length:7975
Content-Encoding:gzip
Content-Disposition:attachment;filename="overview.tex"
Cache-Control:private, s-maxage=0