英语轻松读发新版了,欢迎下载、更新

AFNetWorking使用multipartFormRequestWithMethod方法上传多张图片问题

Frusola 发布于 2013年08月28日
无人欣赏。

现在做的一个项目需要上传图片,我就使用了AFNetWorking中的multipartFormRequestWithMethod方法,由于可能要一次上传多张图片,就按照如下代码来写的:

UIImage *image1 = [UIImage imageNamed:@"about_app"];
UIImage *image2 = [UIImage imageNamed:@"alter"];
NSArray *array = @[image1,image2];
__block int i = 0;
NSMutableURLRequest *request = [[AFNetWorkSingleton shareInstance] multipartFormRequestWithMethod:@"POST" path:@"Mindex/getimg" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>formData){
    for(UIImage *eachImage in array)
    {
        NSData *imageData = UIImageJPEGRepresentation(eachImage,0.5);
        [formData appendPartWithFileData:imageData name:[NSString stringWithFormat:@"file%d",i ] fileName:[NSString stringWithFormat:@"abc%d.jpg",i ] mimeType:@"image/jpeg"];
        i++;
    }
}];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject){}

可是这样写不能成功提交到服务器, 但是将multipartFormRequestWithMethod方法中的for循环替换成下面这样的就成功上传了,这是为什么?我哪里写错了吗?

    [formData appendPartWithFileData:UIImageJPEGRepresentation([array objectAtIndex:0], 0.5) name:@"image1" fileName:@"image1.jpg" mimeType:@"image/jpeg"];
    [formData appendPartWithFileData:UIImageJPEGRepresentation([array objectAtIndex:1], 0.5) name:@"image2" fileName:@"image2.jpg" mimeType:@"image/jpeg"];
共1条回复
elite_me 回复于 2015年06月02日

您好,您的这个问题解决了吗,如果解决的话,给发份代码呗

登录 或者 注册