iOS開發之網絡編程--使用NSURLConnection實現大文件斷點續傳下載


前言: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實現大文件斷點續傳下載,尊重勞動成果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM