我正在開發一個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