<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ASP.NET 文件斷點續傳實現代碼

        來源:懂視網 責編:小采 時間:2020-11-27 22:42:23
        文檔

        ASP.NET 文件斷點續傳實現代碼

        ASP.NET 文件斷點續傳實現代碼:這里我通過Response類中的AddHeader方法將一個HTTP頭添加到輸出流中。在HTTP頭中,是由頭信息和體信息組成。兩者之間用一行空行分開。這里利用在頭中加入Range段,來表示客戶端希望從何處繼續下載,來實現續傳功能。 好了廢話不多說,讓我們開始吧。 1.新
        推薦度:
        導讀ASP.NET 文件斷點續傳實現代碼:這里我通過Response類中的AddHeader方法將一個HTTP頭添加到輸出流中。在HTTP頭中,是由頭信息和體信息組成。兩者之間用一行空行分開。這里利用在頭中加入Range段,來表示客戶端希望從何處繼續下載,來實現續傳功能。 好了廢話不多說,讓我們開始吧。 1.新

        這里我通過Response類中的AddHeader方法將一個HTTP頭添加到輸出流中。在HTTP頭中,是由頭信息和體信息組成。兩者之間用一行空行分開。這里利用在頭中加入Range段,來表示客戶端希望從何處繼續下載,來實現續傳功能。
        好了廢話不多說,讓我們開始吧。
        1.新建1個主頁,名字隨便起哈。
        2.在該頁中添加1個LinkButton按鈕,該按鈕用來執行實現的過程。
        3.在LinkButton的Click事件中,實現斷點續傳功能。
        代碼如下:
        另外不要忘記引用System.IO命名空間,這里只貼出后臺實現代碼了(前臺不會可以回去從學了。。)
        代碼如下:

        using System;
        using System.Data;
        using System.Configuration;
        using System.Collections;
        using System.Web;
        using System.Web.Security;
        using System.Web.UI;
        using System.Web.UI.WebControls;
        using System.Web.UI.WebControls.WebParts;
        using System.Web.UI.HtmlControls;
        using System.IO;
        public partial class DFile : System.Web.UI.Page
        {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void LinBtnDFile_Click(object sender, EventArgs e)
        {
        // 創建一比特數組
        byte[] buffer = new Byte[10240];
        // 指定要下載文件的路徑.
        string filePath = @"D:\愛智旮旯.rar";
        // 或取文件名包括擴展名
        string fileName = Path.GetFileName(filePath);
        Stream fileStream = null;
        try
        {
        // 打開文件
        fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
        Response.Clear();
        // 獲取文件的大小
        long fileSize = fileStream.Length;
        long sum = 0;
        if (Request.Headers["Range"] != null)
        {
        Response.StatusCode = 206; // 表示返回到客戶端的 HTTP
        輸出狀態的整數。默認值為 200。
        sum = long.Parse(Request.Headers["Range"].Replace("bytes=", "").Replace("-", ""));
        }
        if (sum != 0)
        {
        Response.AddHeader("Content-Range", "bytes " + sum.ToString() + "-" + ((long)(fileSize)).ToString() + "/" + fileSize.ToString());
        }
        // 獲取部分http頭信息
        Response.AddHeader("Content-Length", ((long)(fileSize - sum)).ToString());
        Response.ContentType = "application/octet-stream";
        //獲取文件來源
        Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(Request.ContentEncoding.GetBytes(fileName)));
        // Response.Flush();
        fileStream.Position = sum; //設置當前流位置
        fileSize = fileSize - sum;
        // 當文件大小大于0是進入循環
        while (fileSize > 0)
        {
        // 判斷客戶端是否仍連接在服務器
        if (Response.IsClientConnected)
        {
        // 獲取緩沖區中的總字節數.
        int length = fileStream.Read(buffer, 0, 10240);
        // 寫入數據
        Response.OutputStream.Write(buffer, 0, length);
        // 將緩沖區的輸出發送到客戶端
        Response.Flush();
        buffer = new Byte[10240];
        fileSize = fileSize - length;
        }
        else
        {
        //當用戶斷開后退出循環
        fileSize = -1;
        }
        }
        }
        catch (Exception ex)
        {
        Response.Write("Error : " + ex.Message);
        }
        finally
        {
        if (fileStream != null)
        {
        //關閉文件
        fileStream.Close();
        }
        Response.End();
        }
        }
        }

        這里比較簡單,請根據實際情況作適當修改。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ASP.NET 文件斷點續傳實現代碼

        ASP.NET 文件斷點續傳實現代碼:這里我通過Response類中的AddHeader方法將一個HTTP頭添加到輸出流中。在HTTP頭中,是由頭信息和體信息組成。兩者之間用一行空行分開。這里利用在頭中加入Range段,來表示客戶端希望從何處繼續下載,來實現續傳功能。 好了廢話不多說,讓我們開始吧。 1.新
        推薦度:
        標簽: 文件 實現 ASP.NET
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 污视频在线观看免费| 2021在线永久免费视频| 免费观看a级毛片| 今天免费中文字幕视频| 在线观看亚洲天天一三视| 有码人妻在线免费看片| 亚洲国产一区二区视频网站| 午夜不卡AV免费| 国产亚洲成人在线播放va| 亚洲另类春色国产精品| 无码AV片在线观看免费| 婷婷久久久亚洲欧洲日产国码AV| 任你躁在线精品免费| 成人午夜视频免费| 亚洲AV噜噜一区二区三区| 欧洲精品99毛片免费高清观看| 91亚洲自偷手机在线观看| 91老湿机福利免费体验| 亚洲熟妇丰满多毛XXXX| 无码av免费网站| 亚洲w码欧洲s码免费| 日韩人妻一区二区三区免费| 亚洲美女免费视频| 午夜视频在线观看免费完整版| 亚洲AV日韩精品久久久久久| 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 蜜桃精品免费久久久久影院| 国产亚洲男人的天堂在线观看| 91九色精品国产免费| 看全免费的一级毛片| 国产亚洲美女精品久久久久狼| 91精品免费观看| 亚洲av无码成人精品国产| 亚洲日本va在线视频观看| 亚洲免费在线观看视频| 老妇激情毛片免费| 国产青草视频在线观看免费影院| 在线观看黄片免费入口不卡| 亚洲综合另类小说色区色噜噜| 美女被免费视频网站a| 亚洲AV无码成人精品区天堂|