/// <summary>
/// 下載文件
/// </summary>
/// <param name="fileName">文件路徑</param>
/// <returns></returns>
public static void FileDownLoad(System.Web.UI.Page page, string fileName)
{
try
{
fileName = HttpContext.Current.Server.MapPath(fileName);
FileInfo DownloadFile = new FileInfo(fileName); //設置要下載的文件
page.Response.Clear(); //清除緩衝區流中的所有內容輸出
page.Response.ClearHeaders(); //清除緩衝區流中的所有頭
page.Response.Buffer = false; //設置緩衝輸出爲false
//設置輸出流的 HTTP MIME 類型爲application/octet-stream
page.Response.ContentType = "application/octet-stream";
//將 HTTP 頭添加到輸出流
page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.Name, System.Text.Encoding.UTF8));
page.Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
//將指定的文件直接寫入 HTTP 內容輸出流
page.Response.WriteFile(DownloadFile.FullName);
page.Response.Flush(); //向客戶端發送當前所有緩衝的輸出
//將當前所有緩衝的輸出發送到客戶端
//HttpContext.Current.ApplicationInstance.CompleteRequest();
page.Response.End();
}
catch (Exception ex)
{
//錯誤處理
}
}