AFNetworking3.0 GET/POST 以及上傳(多)文件,下載文件

//初始化AFHTTPSessionManager

- (instancetype)init {

if(self= [superinitWithBaseURL:[NSURLURLWithString:URELHEAD]]) {//請(qǐng)求的鏈接頭

self.securityPolicy= [AFSecurityPolicypolicyWithPinningMode:AFSSLPinningModeNone];

self.requestSerializer= [AFHTTPRequestSerializerserializer];

self.responseSerializer= [AFJSONResponseSerializerserializer];//默認(rèn)返回的是dictionary

self.requestSerializer.timeoutInterval=30;

}

returnself;

}

//根據(jù)請(qǐng)求的類型進(jìn)行不同的操作

caseTYPE_GET: {

[selfGET:urlparameters:dicprogress:nilsuccess:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject) {

}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {

}];

}

break;

caseTYPE_POST: {

[selfPOST:urlparameters:dicprogress:nilsuccess:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject) {

[

}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {

}];

}

break;

caseTYPE_DOWNLOAD: {//下載文件

NSURLSessionDownloadTask*task

= [selfdownloadTaskWithRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:url]]progress:nildestination:^NSURL*_Nonnull(NSURL*_NonnulltargetPath,NSURLResponse*_Nonnullresponse) {

NSString*path = [[NSHomeDirectory()stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:response.suggestedFilename];//下載文件的存儲(chǔ)目錄

return[NSURLfileURLWithPath:path];

}completionHandler:^(NSURLResponse*_Nonnullresponse,NSURL*_NullablefilePath,NSError*_Nullableerror) {

}];

[taskresume];

}

break;

caseTYPE_UPLOAD: {//上傳文件

[selfPOST:urlparameters:dicconstructingBodyWithBlock:^(id_NonnullformData) {

if(nil!= fdic) {//單個(gè)或多個(gè)文件上傳

for(NSString*keyin[fdicallKeys]) {

NSString*filePath = [fdicobjectForKey:key];

[formDataappendPartWithFileURL:[NSURLfileURLWithPath:filePath]name:keyerror:nil];

}

}

}progress:nilsuccess:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject) {

}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {

}];

}

break;

default:

break;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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