iOS使用AFN进行单图和多图上传的实例代码
图片上传时必要将图片进行压缩,不然会上传失败
1.单张图上传
AFHTTPRequestOperationManager*manager=[AFHTTPRequestOperationManagermanager];[managerPOST:urlStringparameters:paramsconstructingBodyWithBlock:^(id_NonnullformData){
//使用日期生成图片名称
NSDateFormatter*formatter=[[NSDateFormatteralloc]init];
formatter.dateFormat=@"yyyy-MM-ddHH:mm:ss";
NSString*fileName=[NSStringstringWithFormat:@"%@.png",[formatterstringFromDate:[NSDatedate]]];
[formDataappendPartWithFileData:imageDataname:@"uploadFile"fileName:fileNamemimeType:@"image/png"];
}success:^(AFHTTPRequestOperation*_Nonnulloperation,id_NonnullresponseObject){
//上传图片成功执行回调
completion(responseObject,nil);
}failure:^(AFHTTPRequestOperation*_Nonnulloperation,NSError*_Nonnullerror){
//上传图片失败执行回调
completion(nil,error);
}];
2.多图上传
多图上传和单图上传区别在于文件名称
AFHTTPRequestOperationManager*manager=[AFHTTPRequestOperationManagermanager];[managerPOST:urlStringparameters:paramsconstructingBodyWithBlock:^(id_NonnullformData){
NSIntegerimgCount=0;
for(NSData*imageDatainimageDatas){
NSDateFormatter*formatter=[[NSDateFormatteralloc]init];
formatter.dateFormat=@"yyyy-MM-ddHH:mm:ss:SSS";
NSString*fileName=[NSStringstringWithFormat:@"%@%@.png",[formatterstringFromDate:[NSDatedate]],@(imgCount)];
[formDataappendPartWithFileData:imageDataname:[NSStringstringWithFormat:@"uploadFile%@",@(imgCount)]fileName:fileNamemimeType:@"image/png"];
imgCount++;
}
}success:^(AFHTTPRequestOperation*_Nonnulloperation,id_NonnullresponseObject){
completion(responseObject,nil);
}failure:^(AFHTTPRequestOperation*_Nonnulloperation,NSError*_Nonnullerror){
completion(nil,error);
}];
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。