下載功能是ios 開(kāi)發(fā)中必須掌握的一個(gè)功能,今天簡(jiǎn)單的介紹一下下載功能的實(shí)現(xiàn);
下載功能的實(shí)現(xiàn)
每次下載的字節(jié)數(shù)是在分段下載的時(shí)候用到的;大小根據(jù)你要下載的資源大小自行確定
本文以下載圖片為例:
下載的方法,里面注釋掉的while循環(huán)是在分段下載的時(shí)候會(huì)用到的,如果需要分段下載,就按照下面的算法將文件分段下載并且對(duì)url進(jìn)行了加密,他能保證每次產(chǎn)生的文件都不同,如果不了解MD5,將它注掉即可;在下載的時(shí)候最好使用多線程,如下圖
對(duì)URl進(jìn)行加密,因?yàn)槟憧吹降臅?huì)少文件,如果你不會(huì)加密,這段代碼就可以刪掉
5.下載方法:
1,我們既然要下載,就必須有一個(gè)URL,并且先獲取到資源的大小,只有獲取到文件的大小,我們才能確定下載數(shù)據(jù)大小,如果在下載下來(lái)的資源和源資源大小不一致,文件極容易損壞
2.下載字節(jié)范圍內(nèi)的數(shù)據(jù)包 ,如果不是分段下載,則一次下載完成,調(diào)用appendData方法寫(xiě)入文件,如果需要分段下載,就要追加文件;(追加的方法在本方法下面的appendData方法)
3,創(chuàng)建文件并且寫(xiě)入,如果是分段下載需要追加,就將下面注釋掉的else后面的代碼打開(kāi)
//4.獲取本地文件信息,在上面的下載方法里面調(diào)用做判斷,是為了避免重復(fù)下載,只要我們下載了并且寫(xiě)入了文件,在下次運(yùn)行前我們做判斷;