iOS開發之網路編程--使用NSURLConnection實現大檔案斷點續傳下載,iosnsurlconnection

來源:互聯網
上載者:User

iOS開發之網路編程--使用NSURLConnection實現大檔案斷點續傳下載,iosnsurlconnection

前言:iOS開發之網路編程--使用NSURLConnection實現大檔案斷點續傳下載是在前篇iOS開發之網路編程--使用NSURLConnection實現大檔案下載的基礎上進行

     斷點續傳的設定。關於iOS開發之網路編程--使用NSURLConnection實現大檔案下載的細節這裡當然就不會再累述的啦。

 

斷點續傳的原理

     每次在向伺服器請求下載資料的同時,要告訴伺服器從整個下載檔案的資料流的某個還未下載的位置開始下載,然後伺服器就返回從那個位置開始的資料流。

     圖片:

    

   斷點續傳關鍵代碼:

    

用來做代碼練習的API介面

MP4小視頻:http://120.25.226.186:32812/resources/videos/minion_01.mp4

 

代碼實現(下面的源碼是在iOS開發之網路編程--使用NSURLConnection實現大檔案下載的基礎上進一步實現斷線續傳)

      1、實現下載和停止下載,所以需要添加兩個按鈕,然後拖線串連什麼的,你懂的。

    

    2、關鍵完整代碼:

      

關於使用NSURLConnection實現大檔案斷點續傳下載的補充:

  在本人的iOS開發之網路編程--小檔案下載的隨筆博文中就提到的回應標頭對象的屬性

    response.expectedContentLength返回的並不是下載整個檔案的長度,而是將要下載的檔案的長度

  舉個實際中常有的例子:當我下載到1/3的長度然後取消下載了,之後再次點擊開始下載,這時候response.expectedContentLength返回的會是剩下2/3的長度。

  所以在使用response.expectedContentLength注意不要因為不知其本質而使用錯了。

  以上源碼中:

    

轉載請註明出處:iOS開發之網路編程--使用NSURLConnection實現大檔案斷點續傳下載,尊重勞動成果。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.