在IOS

2017-08-02 8 views
0

使用AFNetworking上传多张图片,我知道它问了很多次。但我正面临一些问题,我想发送多个图像到服务器。情景是,我已经使用了一个自定义的第三方库来选择多个图像。在用户选择图像之后,图像进入阵列。该阵列有两种类型,第一个阵列中携带有用户选择没有问题多少图像,他/她选择和2是图像的文件路径阵列图像的名称,该数组包含数组的路径。我有三个参数,而POST请求1st是图像名称数组的名称,第二个是ID,其中ID是这些图像发送到的传递,第三个是图像所在的图像。在我的代码我用AFHTTPRequestOperationManager但我的头呸,这个类必须在AFNetworkk文件夹中没有头文件,我在我的项目中使用得到错误。我的代码是这样的,在IOS

-(void)Images{ 

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"My URL"]]; 
int i=0; 
for(UIImage *eachImage in _arrai) 
{ 
    NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"mainImage"]); 
    [formData appendPartWithFileData:imageData name:[NSString stringWithFormat:@"file%d",i ] fileName:[NSString stringWithFormat:@"file%d.jpg",i ] mimeType:@"image/jpeg"]; 
    i++; 
} 

NSDictionary *parameters = @{@"name":_arrainame, @"property_id" : Propid, @"image" : _arrai}; 
AFHTTPRequestOperation *op = [manager POST:@"mainImage" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
    //do not put image inside parameters dictionary as I did, but append it! 
    [formData appendPartWithFileData:imageData name:@"userfile" fileName:@"cat1.png" mimeType:@"image/png"]; 
} success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject); 
} failure:^(AFHTTPRequestOperation operation, NSError error) { 
    NSLog(@"Error: %@ ***** %@", operation.responseString, error); 
}]; 
[op start]; 

}

+0

你尝试使用这个网址第一邮递员?并确保它正在工作? –

+0

你想发送相同的参数? – vp2698

+0

是相同的参数。 @ vp2698 –

回答

0
NSDictionary *parameters = @{@"name":_arrainame, @"property_id" : Propid}; 

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"http://example.com/upload" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
    int i=0; 
    for(NSString *eachImagePath in _arrai) 
    { 

     NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:eachImagePath]; 
     [formData appendPartWithFileURL:fileURL name:@"imageParamter" fileName:[NSString stringWithFormat:@"file%d.jpg",i ] mimeType:@"image/jpeg" error:nil]; 
     i++; 
    } 
} error:nil]; 


AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 

NSURLSessionUploadTask *uploadTask; 
uploadTask = [manager 
       uploadTaskWithStreamedRequest:request 
       progress:nil 
       completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) { 
        if (error) { 
         NSLog(@"Error: %@", error); 
        } else { 
         NSLog(@"%@ %@", response, responseObject); 
        } 
       }]; 

[uploadTask resume]; 

试试这个

+0

你能告诉我哪个导入文件我应该使用它。 #import“”? @ vp2698 –

+0

刚刚导入'AFNetworking.h' – vp2698

+0

其示值误差是AFHTTPRequestOperationManager未声明的标识符。 @ vp2698 –