我正在用一塊JQuery調用[WebMethod]。以下代碼旨在將最近的壓縮文件發送到用戶的瀏覽器。當用戶點擊「下載」按鈕時,AJAX請求被髮送到ASP.NET頁面,並且應該發送zip文件。ASP.NET Response.TransmitFile()似乎不工作
這是代碼。
[WebMethod]
public static void DownloadAlbum(string folderToDownload)
{
string archiveDir = "";
...some code...
HttpContext.Current.Response.ContentType = "application/zip";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment; filename=" + path);
HttpContext.Current.Response.TransmitFile(path);
HttpContext.Current.Response.End();
}
當此運行時,沒有任何內容被髮送到瀏覽器,但也不會引發任何異常。我不確定發生了什麼以及爲什麼文件沒有下載。
'路徑'DEFINATELY具有正確的地址,並且當文件的地址是硬編碼時會發生同樣的情況。
任何幫助將不勝感激!
感謝,
這看起來很有前途。 – icecreamsoop 2010-09-08 14:34:34
我還在這裏學習; .asmx文件的內容是什麼? – icecreamsoop 2010-09-08 14:34:55
@ice - 這實際上可能會有所不同。大多數服務將使用代碼隱藏(.asmx.cs)來存儲實際代碼,而.asmx文件僅包含一個標識包含代碼的類的<%@ WebService%>指令。在** Add - > New Item ... **菜單中的項目中創建一個新的服務,並檢查生成的.asmx和.asmx.cs文件作爲示例。對於我的許多服務,我爲該類添加了一個'[ScriptService]'屬性,並定製了[[WebService]]命名空間。這有幫助嗎? – kbrimington 2010-09-08 14:53:52