我已經出現在文件服務器中的文件(例如:本地目錄E:\驅動器)下載文件C#
我有一個服務器端方法來下載文件
[System.Web.Services.WebMethod]
public static void DownloadFile(string AcctNum, string OfficeCode)
{
string fName = "E:\\FILES\\STATEMENTS\\sample.pdf";
FileInfo fi = new FileInfo(fName);
long sz = fi.Length;
HttpContext.Current.Response.ClearContent();
if (System.IO.Path.GetFileName(fName).EndsWith(".txt"))
{
HttpContext.Current.Response.ContentType = "application/txt";
}
else if (System.IO.Path.GetFileName(fName).EndsWith(".pdf"))
{
HttpContext.Current.Response.ContentType = "application/pdf";
}
else
{
HttpContext.Current.Response.ContentType = "image/jpg";
}
HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename = {0}", System.IO.Path.GetFileName(fName)));
HttpContext.Current.Response.AddHeader("Content-Length", sz.ToString());
HttpContext.Current.Response.TransmitFile(fName);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
}
我從一個JavaScript函數調用此方法如下
function DownloadStatement(account,office) {
PageMethods.DownloadFile(account,office);
}
DownloadFile()是獲取執行,但文件沒有得到通過瀏覽器下載。
我在這裏錯過了什麼。 請幫忙。
當從Javascript調用上述方法時,不會觸發Page_load事件。這可能是文件沒有下載的原因嗎? – 2015-02-06 06:47:12
爲什麼你在javascript中調用這個方法。僅用於頁面回發? – 2015-02-06 11:35:24