iOS开发 使用AFNetworking实现多张图片上传

#import "ViewController.h"
#import "AFNetworking.h"
@interface ViewController ()

@end

@implementation ViewController
- (NSMutableArray*)arrayImage
{
    if (!_arrayImage) {
        self.arrayImage = [NSMutableArray array];
    }
    return _arrayImage;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    for (int i = 0; i < 2; i++) {
        NSString *str = [NSString stringWithFormat:@"image%d", i];
        UIImage *image = [UIImage imageNamed:str];
        [self.arrayImage addObject:image];
    }


}
- (IBAction)uploadImages:(id)sender
{
    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
    //需要上传服务器的参数
    [parameters setValue:@"64611" forKey:@"supplier_id"];

    [parameters setValue:@"1016" forKey:@"user_id"];
    NSString *url = @"http://mobile.pinlehuo.com/api.php?m=MemberOper&a=supplierPicsUpload";
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    /**
     *  post : 上传的网址
     *
     *  parameters 服务器需要上传的参数
     *
     */
    [manager POST:url parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

     /*   参数说明:
        1. fileData:   要上传文件的数据
        2. name:       负责上传文件的远程服务中接收文件使用的字段名称
        3. fileName:   要上传文件的文件名
        4. mimeType:   要上传文件的文件类型

        提示,在日常开发中,如果要上传图片到服务器,一定记住不要出现文件重名的问题!
        这个问题,通常涉及到前端程序员和后端程序员的沟通。

        通常解决此问题,可以使用系统时间作为文件名!
    */
        // 1) 取当前系统时间
        NSDate *date = [NSDate date];
        // 2) 使用日期格式化工具
        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
        // 3) 指定日期格式
        [formatter setDateFormat:@"yyyyMMddHHmmss"];
        NSString *dateStr = [formatter stringFromDate:date];

        for (int i = 0; i < _arrayImage.count; i++) {
            UIImage *image = _arrayImage[i];
            NSData *data = UIImageJPEGRepresentation(image,0.5);
            // 4) 使用系统时间生成一个文件名
            NSString *fileName = [NSString stringWithFormat:@"%@%d.jpg", dateStr,i + 1];
            [formData appendPartWithFileData:data name:@"environment[]" fileName:fileName mimeType:@"image/jpg"];
        }

    } success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"Success: 成功");
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];
}

@end
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值