小文件下載

  • 小文件下載步驟

    • 發(fā)送網(wǎng)絡(luò)請求
    • 實現(xiàn)小文件下載方法
  • 小文件下載方法(僅提供每類最常用方法介紹):

    1. 直接通過NSData下載網(wǎng)絡(luò)資源
    2. 通過NSURLSessionDataTask下載

    3. 通過NSURLConnection,發(fā)送異步-主隊列請求,下載完畢后實現(xiàn)UI刷新(過期不用,了解需要時備查)

  1. 第一種方式(NSData)
//使用NSDta直接加載網(wǎng)絡(luò)上的url資源(不考慮線程)
##核心代碼
    //1. 根據(jù)URL加載對應(yīng)的資源
    NSData *data = [NSData dataWithContentsOfURL:url];

    //2. 轉(zhuǎn)換并顯示數(shù)據(jù)
    UIImage *image = [UIImage imageWithData:data];
    self.imageView.image = image;
  1. 第二種方式(NSURLSessionDataTask-block)
    //1.設(shè)置請求路徑
    NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/login?username=ss&pwd=ss&type=JSON"];

    //2.根據(jù)路徑設(shè)置請求對象-get請求
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    //3..創(chuàng)建NSURLSession對象(可以獲取單例對象)
    NSURLSession *session = [NSURLSession sharedSession];

    //4..根據(jù)NSURLSession對象創(chuàng)建一個Task
    NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

        //6.回到主線程刷新UI


    //5..執(zhí)行Task
    //注意:剛創(chuàng)建出來的task默認是掛起狀態(tài)的,需要調(diào)用該方法來啟動任務(wù)(執(zhí)行任務(wù))
    [dataTask resume];

3 第三種方式(NSURLConnection-sendAsync)

//使用NSURLConnection發(fā)送異步請求下載文件資源
##核心代碼
    //使用NSURLConnection發(fā)送一個異步請求
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
        //4.拿到并處理數(shù)據(jù)
        UIImage *image = [UIImage imageWithData:data];
        self.imageView.image = image;
    }];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容