AFNetworking發網絡請求

1、#import "AFHTTPSessionManager.h"

2、? ? //網絡請求管理器

? ? AFHTTPSessionManager *sessionManager = [AFHTTPSessionManager manager];

3、?//設置請求內容的類型

//重中之重:添加header前先初始化AFJSONRequestSerializer,否則無法添加

? ? sessionManager.requestSerializer = [AFJSONRequestSerializer new];

? ? [sessionManager.requestSerializer setValue:@"application/json;charset=utf-8" forHTTPHeaderField:@"content-type"];

? ? [sessionManager.requestSerializer setValue:@"text/xml,application/json" forHTTPHeaderField:@"Accept"];

? ? [sessionManager.requestSerializer setValue:@"zh-CN,zh;q=0.8" forHTTPHeaderField:@"Accept-Language"];

? ? [sessionManager.requestSerializer setValue:@"Keep-Alive" forHTTPHeaderField:@"Connection"];

? ? [sessionManager.requestSerializer setValue:@"WLJY-ANDROID" forHTTPHeaderField:@"client-type"];

? ? [sessionManager.requestSerializer setValue:@"identity" forHTTPHeaderField:@"Accept-Encoding"];

4、

[sessionManager POST:requestUrlStr parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>? _Nonnull formData) {

? ? ? ? ? //發送內容 (NSData到后臺即是file類型)下面舉例上傳一次多張圖片,array即圖片數組

? ? for(int i =0; i< array.count ; i++){

? ? ? ? ? ? NSData*imageData = (圖片轉NSData 自己查 取單張圖片array[i])

?? ? ? ? ? ?NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

? ? ? ? ? ? formatter.dateFormat=@"yyyyMMddHHmmss";

? ? ? ? ? ? NSString*str = [formatter ?stringFromDate:[NSDatedate]];

? ? ? ? ? ? NSString*fileName = [NSString ?stringWithFormat:@"%@.jpg", str];

? ? ? ? ? ? [formData ?appendPartWithFileData:imageData ?name:@"img" ?fileName:fileName ?mimeType:@"multipart/form-data"];

? ? ? ? }

? ? }progress:^(NSProgress*_NonnulluploadProgress) {

? ? ? ? nil;

? ? }success:^(NSURLSessionDataTask*_Nonnulltask,id? _NullableresponseObject) {

? ? ? ? NSLog(@"success");

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

? ? ? ? NSLog(@"default");

? ? }];

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。