在IOS
使用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];
}
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];
试试这个
你能告诉我哪个导入文件我应该使用它。 #import“”? @ vp2698 –
刚刚导入'AFNetworking.h' – vp2698
其示值误差是AFHTTPRequestOperationManager未声明的标识符。 @ vp2698 –
你尝试使用这个网址第一邮递员?并确保它正在工作? –
你想发送相同的参数? – vp2698
是相同的参数。 @ vp2698 –