中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Asp.net大文件下載的實現方法介紹

本篇內容介紹了“Asp.net大文件下載的實現方法介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創新互聯公司是一家專業提供瑪曲企業網站建設,專注與網站設計制作、成都做網站、H5場景定制、小程序制作等業務。10年已為瑪曲眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。

  文件下載是一個網站最基本的功能,ASP.NET網站的文件下載功能實現也很簡單,但是如果遇到大文件的下載而不做特殊處理的話,那將會出現不可預料的后果。當我們的網站需要支持下載大文件時,如果不做控制可能會導致用戶在訪問下載頁面時發生無響應,使得瀏覽器崩潰。可以參考如下代碼來避免這個問題。

using System;
namespace WebApplication1
{
    public partial class DownloadFile : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            System.IO.Stream iStream = null;
            // Buffer to read 10K bytes in chunk:
            byte[] buffer = new Byte[10000];
            // Length of the file:
            int length;
            // Total bytes to read.
            long dataToRead;
            // Identify the file to download including its path.
            string filepath = Server.MapPath("/") +"./Files/TextFile1.txt";
            // Identify the file name.
            string filename = System.IO.Path.GetFileName(filepath);
            try
            {
                // Open the file.
                iStream = new System.IO.FileStream(filepath, System.IO.FileMode.Open,
                            System.IO.FileAccess.Read, System.IO.FileShare.Read);
                // Total bytes to read.
                dataToRead = iStream.Length;
                Response.Clear();
                Response.ClearHeaders();
                Response.ClearContent();
                Response.ContentType = "text/plain"; // Set the file type
                Response.AddHeader("Content-Length", dataToRead.ToString());
                Response.AddHeader("Content-Disposition", "p_w_upload; filename=" + filename);
                // Read the bytes.
                while (dataToRead > 0)
                {
                    // Verify that the client is connected.
                    if (Response.IsClientConnected)
                    {
                        // Read the data in buffer.
                        length = iStream.Read(buffer, 0, 10000);
                        // Write the data to the current output stream.
                        Response.OutputStream.Write(buffer, 0, length);
                        // Flush the data to the HTML output.
                        Response.Flush();
                        buffer = new Byte[10000];
                        dataToRead = dataToRead - length;
                    }
                    else
                    {
                        // Prevent infinite loop if user disconnects
                        dataToRead = -1;
                    }
                }
            }
            catch (Exception ex)
            {
                // Trap the error, if any.
                Response.Write("Error : " + ex.Message);
            }
            finally
            {
                if (iStream != null)
                {
                    //Close the file.
                    iStream.Close();
                }
                Response.End();
            }
        }
    }
}

關于此代碼的幾點說明:

1. 將數據分成較小的部分,然后將其移動到輸出流以供下載,從而獲取這些數據。

2. 根據下載的文件類型來指定 Response.ContentType 。(參考OSChina的這個網址可以找到大部分文件類型的對照表:http://tool.oschina.net/commons)

3. 在每次寫完response時記得調用 Response.Flush()

4. 在循環下載的過程中使用 Response.IsClientConnected 這個判斷可以幫助程序盡早發現連接是否正常。若不正常,可以及早的放棄下載,以釋放所占用的服務器資源。

5. 在下載結束后,需要調用 Response.End() 來保證當前線程可以在最后被終止掉。

“Asp.net大文件下載的實現方法介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

網站名稱:Asp.net大文件下載的實現方法介紹
網站路徑:http://m.2m8n56k.cn/article10/jdshdo.html

成都網站建設公司_創新互聯,為您提供服務器托管微信公眾號定制開發網站內鏈靜態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作
主站蜘蛛池模板: 亚洲精品免费在线 | 亚洲专区在线 | 波多野结衣在线视频观看 | 国外精品视频在线观看免费 | 国产亚洲一级精品久久 | 在线中文字幕视频 | 国产一区视频在线 | 综合在线视频 | 亚洲男人的天堂在线视频 | 美女又黄又免费视频 | 中文乱码字幕午夜无线观看 | 成人三级毛片 | 日韩美女大全视频在线 | 人成免费a级毛片 | 欧美性色生活片免费播放 | 国产精品久久久久精 | 久久午夜精品 | 999久久久| 女人一级一级毛片 | 美国一级片在线观看 | 日本欧美不卡一区二区三区在线 | 久久五月女厕所一区二区 | 九九久久精品视频 | 自拍视频第一页 | 性xxxx奶大欧美高清 | 久在草视频 | 亚洲九九夜夜 | 亚洲视频免费在线看 | 男人天堂视频网站 | 日韩一级精品视频在线观看 | 国产三级做爰高清在线 | 99精品久久久久久 | 午夜剧场成年 | 欧美人成在线观看 | 午夜三级a三级三点在线观看 | 成人区精品一区二区毛片不卡 | 亚洲精品影院久久久久久 | 久久久久国产 | 真人一级毛片全部免 | 欧美一区二区视频在线观看 | 欧美黄色免费 |