/**
* 上传带图片的内容,允许多张图片上传(URL)POST *
* @param url 网络请求地址
* @param images 要上传的图片数组
* @param parameter 图片数组对应的参数
* @param parameters 其他参数字典
* @param ratio 图片的压缩比例(0.0 ~ 1.0之间)
* @param succeedBlock 成功的回调
* @param failedBlock 失败的回调
*/
- (void)startMultiPartUploadTaskWithURL:(NSString *)url
imagesArray:(NSArray *)images
parameterOfimages:(NSString *)parameter
parametersDict:(NSDictionary *)parameters
compressionRatio:(float)ratio
succeedBlock:(void(^)(id operation, id responseObject))succeedBlock
failedBlock:(void(^)(id operation, NSError *error))failedBlock {
if (images.count == 0) {
NSLog(@"上传内容没有包含图片");
return;
}
for (int i = 0; i< images.count; i++) {
if (![images isKindOfClass:[UIImage class]]) {
NSLog(@"images中第%d个元素不是UIImage对象",i+1);
return;
}
}
_manager = [AFHTTPSessionManager manager];
[_manager POST:url parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
int i = 0;
//根据当前系统时间生成图片名称
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyyMMdd"];
NSString *dateStr = [formatter stringFromDate:date];
for (UIImage *image in images) {
NSString *fileName = [NSString stringWithFormat:@"%@%d.png", dateStr, i];
NSData *imageData;
if (ratio > 0.0f && ratio < 1.0f) {
imageData = UIImageJPEGRepresentation(image, ratio);
} else {
imageData = UIImageJPEGRepresentation(image, 1.0f);
}
[formData appendPartWithFileData:imageData name:parameter fileName:fileName mimeType:@"image/jpg/png/jpeg"];
}
} progress:^(NSProgress * _Nonnull uploadProgress) { //上传进度
// NSLog(@"上传进度:%@",uploadProgress);
} success:^(NSURLSessionDataTask * _Nonnull task, id responseObject){
succeedBlock(nil,responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
failedBlock(nil,error);
}];
}
POST上传多张图片
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 今天开始做头像上传模块,原本想偷懒用AFN第三方去做图片上传,可是不知道是因为参数还是后台,老是上传失败。无法只能...
- 由于项目还在开发阶段,只能贴上部分代码,敬请谅解; 注意点: 在后台上传必须是调用此方法:uploadTaskWi...
- NSArray * _image =@[]; /////////// //////将多张图片一次性上传到后台,后台...