iOS NSURLConnection下載(斷點續(xù)傳)

//聯(lián)系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄

01.NSURLConnection下載

================================================================================

1>NSURLResponse屬性

URL客戶端請求的URL

MIMEType告訴客戶端返回的二進制數(shù)據(jù)可以用什么軟件打開

expectedContentLength二進制數(shù)據(jù)(下載文件)的長度

textEncodingName文本編碼名稱鱼辙,UTF8/GB2312

suggestedFilename建議的文件名

*** NSURLConnection做簡單的網(wǎng)絡(luò)連接非常簡單,但是復雜的網(wǎng)絡(luò)操作校赤,非常麻煩

2>使用異步方法下載文件

問題:

1.沒有進度

2.會有瞬間的內(nèi)存峰值

3>使用代理方法下載文件

#pragma mark - NSURLConnectionDataDelegate方法

// 1.接收到服務(wù)器響應(yīng)躁锡,下載前的準備工作

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {

}

// 2.接收到服務(wù)器數(shù)據(jù)午绳,可能會多次

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {

}

// 3.數(shù)據(jù)接收完成

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

}

// 4.出現(xiàn)錯誤,提示網(wǎng)絡(luò)操作千萬不要忘記出錯處理

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {

}

問題:

1.在iPhone5上會出現(xiàn)峰值

2.不過可以跟進進度

4>每次接收到數(shù)據(jù)逐一寫入文件——可以解決內(nèi)存峰值的問題

問題:

1.多線程

[conn setDelegateQueue:[[NSOperationQueue alloc] init]];

2.UI更新

[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate date]];

02.NSURLSession介紹

================================================================================

是iOS7新推出的網(wǎng)絡(luò)解決方案映之,解決了NSURLConnection中的很多問題拦焚。

NSURLSession的使用相對有些復雜,對于簡單網(wǎng)絡(luò)的網(wǎng)絡(luò)請求杠输,仍然可以使用NSURLConnection赎败。

三個任務(wù)

1>NSURLSessionDataTask傳統(tǒng)的GET / POST方法,包括POST上傳文件

2>NSURLSessionDownloadTask下載任務(wù)

3>NSURLSessionUploadTask上傳任務(wù)- PUT方式的文件上傳

03.NSURLSession下載演練

================================================================================

1>通過塊代碼回調(diào)實現(xiàn)下載

NSURLSession *session = [NSURLSession sharedSession];

[[session downloadTaskWithURL:url completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error) {

NSLog(@"%@ %@", location.path, [NSThread currentThread]);

}] resume];

特點:

1.沒有內(nèi)存峰值

2.文件直接保存在臨時目錄蠢甲,如果不做進一步處理僵刮,會直接刪除

3.完成塊代碼同樣運行在后臺線程

2>下載進度跟進

- (void)viewWillDisappear:(BOOL)animated {

//自定義Session會對self進行強引用,在視圖消失之前應(yīng)該取消session的所有任務(wù)鹦牛,否則會造成內(nèi)存泄漏

[self.session invalidateAndCancel];

}

3>斷點續(xù)傳

- (void)downloadURL:(NSURL *)url {

self.downloadTask = [self.session downloadTaskWithURL:url];

[self.downloadTask resume];

}

- (void)pause {

[self.downloadTask cancelByProducingResumeData:^(NSData *resumeData) {

self.resumeData = resumeData;

self.downloadTask =nil;

}];

}

- (void)resume {

if(self.resumeData ==nil) {

return;

}

self.downloadTask = [self.session downloadTaskWithResumeData:self.resumeData];

self.resumeData =nil;

[self.downloadTask resume];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搞糕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子曼追,更是在濱河造成了極大的恐慌窍仰,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件礼殊,死亡現(xiàn)場離奇詭異驹吮,居然都是意外死亡鲫忍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門钥屈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悟民,“玉大人,你說我怎么就攤上這事篷就∩淇鳎” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵竭业,是天一觀的道長智润。 經(jīng)常有香客問我,道長未辆,這世上最難降的妖魔是什么窟绷? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮咐柜,結(jié)果婚禮上兼蜈,老公的妹妹穿的比我還像新娘。我一直安慰自己拙友,他們只是感情好为狸,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著遗契,像睡著了一般辐棒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上牍蜂,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天漾根,我揣著相機與錄音,去河邊找鬼鲫竞。 笑死辐怕,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的贡茅。 我是一名探鬼主播秘蛇,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼其做,長吁一口氣:“原來是場噩夢啊……” “哼顶考!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起妖泄,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤驹沿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蹈胡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渊季,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡朋蔫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了却汉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驯妄。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖合砂,靈堂內(nèi)的尸體忽然破棺而出青扔,到底是詐尸還是另有隱情,我是刑警寧澤翩伪,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布微猖,位于F島的核電站,受9級特大地震影響缘屹,放射性物質(zhì)發(fā)生泄漏凛剥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一轻姿、第九天 我趴在偏房一處隱蔽的房頂上張望犁珠。 院中可真熱鬧,春花似錦互亮、人聲如沸盲憎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饼疙。三九已至,卻和暖如春慕爬,著一層夾襖步出監(jiān)牢的瞬間窑眯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工医窿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留磅甩,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓姥卢,卻偏偏與公主長得像卷要,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子独榴,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容