下載文件

 

 /// <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)
        {

            //錯誤處理
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章