2
public void Downloadfile(string sFileName, string sFilePath)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ContentType = "APPLICATION/OCTET-STREAM";
String Header = "Attachment; Filename=" + sFileName;
HttpContext.Current.Response.AppendHeader("Content-Disposition", Header);
HttpContext.Current.Response.AppendHeader("Cache-Control", "no-cache");
System.IO.FileInfo Dfile = new System.IO.FileInfo(HttpContext.Current.Server.MapPath(sFilePath));
HttpContext.Current.Response.TransmitFile(Dfile.FullName);
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
使用HttpContext.Current.Response.TransmitFile我有一個下載按鈕,點擊會回電話,並下載相應的文件下載,但有時文件的回報是detailt.aspx文件。我不明白髮生了什麼事。 我需要幫助。非常感謝ASP.net下載文件在ASP.NET
感謝David Negron的回覆。 但是,當我使用Response.End(),thorw異常: exception = {無法評估表達式,因爲代碼已優化或本機框架位於調用堆棧之上。} 我不理解錯誤。你可以解釋嗎。 – user2828601
在調用下載文件後,您有可能嘗試執行任何其他代碼。我問的原因是我通常從HttpHandler中調用這種類型的代碼。對於這個例子來看看這篇文章http://geekswithblogs.net/hmloo/archive/2012/03/07/how-to-download-files-using-a-generic-handler.aspx –