首页 > 系统 > iOS > 正文

iOS使用AFN进行单图和多图上传的实例代码

2019-10-21 18:46:59
字体:
来源:转载
供稿:网友

图片上传时必要将图片进行压缩,不然会上传失败

1.单张图上传

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) {//使用日期生成图片名称NSDateFormatter *formatter = [[NSDateFormatter alloc] init];formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";NSString *fileName = [NSString stringWithFormat:@"%@.png",[formatter stringFromDate:[NSDate date]]];[formData appendPartWithFileData:imageData name:@"uploadFile" fileName:fileName mimeType:@"image/png"];} success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) {//上传图片成功执行回调completion(responseObject,nil);} failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {//上传图片失败执行回调completion(nil,error);}];

2.多图上传

多图上传和单图上传区别在于文件名称

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) {NSInteger imgCount = 0;for (NSData *imageData in imageDatas) {NSDateFormatter *formatter = [[NSDateFormatter alloc] init];formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss:SSS";NSString *fileName = [NSString stringWithFormat:@"%@%@.png",[formatter stringFromDate:[NSDate date]],@(imgCount)];[formData appendPartWithFileData:imageData name:[NSString stringWithFormat:@"uploadFile%@",@(imgCount)] fileName:fileName mimeType:@"image/png"];imgCount++;}} success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) {completion(responseObject,nil);} failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {completion(nil,error);}];

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到IOS开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表