我正在开发一个ASP.NET应用程序,它使用Response.TransmitFile在某一时刻向用户发送一个文件。Response.TransmitFile,Response.End和IE问题
它可以在我的开发机器上正常工作,当我将它部署到测试服务器时,它仍然可以在其中两个上工作;在其中一台服务器上(W2K3),它只能在Firefox上运行,当我在IE7上尝试时,出现“Internet Explorer无法打开(服务器名称)上的文件sendfile.aspx”的错误。
我创建了一个小型内嵌aspx页面来摄制的问题,那就是:
<%@ Page Language="C#" %>
<html><head>
<script language="CS" runat="server">
void Page_Load(object sender, System.EventArgs e)
{
string filePath = @"C:\temp\export.zip";
Response.ClearHeaders();
Response.ContentType = "application/zip";
Response.Clear();
Response.AppendHeader("Content-disposition", "attachment; filename=export.zip");
Response.TransmitFile(filePath);
Response.End();
}
</script>
</head></html>
我已经尝试不同的事情,我发现,如果我注释掉Response.End
线再次工作(但AFAIK这条线应该在那里,至少根据我在网上找到的每个示例代码)
我注意到的另一个问题可能与也可能不相关的是,它也将失败,如果我删除<html>, <head>
及其关闭标签。
我一直在挠我的头这一段时间了,有没有人有线索如何让这个工作?
可以请你发布你已经提及的样品链接。 – Saar