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); }];
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。