我在我的 ASP.NET 应用程序中遇到了一个非常奇怪的问题。
当用户单击下载文件的按钮时,Internet Explorer / Chrome / Firefox 会显示保存对话框,但文件的名称是 ASPX 页面的名称(例如,如果页面名为 Download.aspx,则下载对话框会显示“文件”下载.zip)。有时,当使用 MIME 类型播放时,下载对话框会显示“Download.aspx”。似乎您正在尝试下载该页面,但实际上是正确的文件。
ZIP 扩展会发生这种情况,这是我的代码(我认为非常标准):
this.Response.Clear();
this.Response.ClearHeaders();
this.Response.ClearContent();
this.Response.AddHeader("Content–Disposition", "attachment; filename=" + file.Name);
this.Response.AddHeader("Content-Length", file.Length.ToString());
this.Response.ContentType = GETCONTENTYPE(System.IO.Path.GetExtension(file.Name));
this.Response.TransmitFile(file.FullName);
this.Response.End();
GetContentType 函数只返回文件的 MIME。我尝试使用application/x-zip-compressed、multipart/x-zip,当然还有application/zip。使用 application/zip Internet Explorer 8 显示 XML 错误。
非常感谢任何帮助。
问候,