iOS上传多张图片到服务端

2018-12-03  本文已影响12人  第六梦

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);

    }];

上一篇下一篇

猜你喜欢

热点阅读