ios 上传多张图片总结——IOS网络访问之使用AFNetworking

Posted Larry_qidian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 上传多张图片总结——IOS网络访问之使用AFNetworking相关的知识,希望对你有一定的参考价值。

ios 上传图片文件 或者 视频   

AFHTTPRequestOperationManager


上传图片(多张)参考文献:

http://www.blogjava.net/qileilove/archive/2014/12/11/421323.html


下面两个函数是可以用的:

[objc]  view plain copy
  1. [formData appendPartWithFileData:<#(NSData *)#> name:<#(NSString *)#> fileName:<#(NSString *)#> mimeType:<#(NSString *)#>]  
[objc]  view plain copy
  1. [formData appendPartWithFileURL:<#(NSURL *)#> name:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>]  

[objc]  view plain copy
  1. [formData appendPartWithFileURL:<#(NSURL *)#> name:<#(NSString *)#> fileName:<#(NSString *)#> mimeType:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>]  

这个函数,我用时失败:

[formData appendPartWithFormData:<#(NSData *)#> name:<#(NSString *)#>]

保存图像:

[objc]  view plain copy
  1. - (void)viewDidLoad   
  2.   
  3.     [super viewDidLoad];  
  4.   
  5.      // 保存每次添加的图片  
  6.     self.imageDataArray = [NSMutableArray array];  
  7.   
  8.       
  9.   

[objc]  view plain copy
  1. -(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info  
  2.   
  3.     UIImage *originalImage = [info valueForKey:UIImagePickerControllerEditedImage] ;  
  4.       
  5.     // 得到图片的缓存数据  
  6.     NSData * imagedata = UIImageJPEGRepresentation([originalImage imageByScalingAndCroppingForSize:CGSizeMake(originalImage.size.width, originalImage.size.height)], 0.5);  
  7.     static int index = 1;  
  8.     NSString * newImageName = [NSString stringWithFormat:@"%@%zi%@", Image_Name, index, @".jpg"];  
  9.     NSString  *jpgPath = NSHomeDirectory();  
  10.     jpgPath = [jpgPath stringByAppendingPathComponent:@"Documents"];  
  11.     jpgPath = [jpgPath stringByAppendingPathComponent:newImageName];  
  12.     [imagedata writeToFile:jpgPath atomically:YES];  
  13.       
  14.       
  15.     [self.imageDataArray addObject:imagedata];  
  16.       
  17.     index ++ ;  
  18.       
  19.     // 显示当前上传图片  
  20.     [self showUploadImage:imagedata];  
  21.       
  22.     [picker dismissViewControllerAnimated:YES completion:^  
  23.     ];  
  24.   

提交单张图片 :

[objc]  view plain copy
  1. // 向服务器提交图片  
  2.     AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  
  3.     manager.responseSerializer = [AFHTTPResponseSerializer serializer];  
  4.       
  5.     // 显示进度  
  6.     [manager POST:urlstr parameters:[self Params] constructingBodyWithBlock:^(id<AFMultipartFormData> formData)  
  7.       
  8.         static int nindex = 1;  
  9.         // 单张图片上传  
  10.         NSString * paramName = [NSString stringWithFormat:@"%@%zi", Image_Name, nindex];  
  11.         NSString * newImageName = [NSString stringWithFormat:@"%@.jpg", paramName];  
  12.         NSString * imagepath = NSHomeDirectory();  
  13.         NSString * path = [imagepath stringByAppendingPathComponent:@"Documents"];  
  14.         NSBundle * Bundle = [NSBundle bundleWithPath:path];  
  15.         NSURL    * fileURL = [Bundle URLForResource:newImageName withExtension:nil];  
  16.         [formData appendPartWithFileURL:fileURL name:paramName error:nil];  
  17.       
  18.     success:^(AFHTTPRequestOperation *operation, id responseObject)  
  19.        
  20.       
  21.          NSString *result = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];  
  22.          NSLog(@"完成 %@", result);          
  23.        
  24.      failure:^(AFHTTPRequestOperation *operation, NSError *error)  
  25.        
  26.          NSLog(@"错误 %@", error.localizedDescription);  
  27.      ];  

提交多张图片:

[objc]  view plain copy
  1. // 向服务器提交图片  
  2.     AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  
  3.     manager.responseSerializer = [AFHTTPResponseSerializer serializer];  
  4.       
  5.       
  6.     // 显示进度  
  7.     [manager POST:urlstr parameters:[self Params] constructingBodyWithBlock:^(id<AFMultipartFormData> formData)  
  8. iOS 一次上传多张图片, 并返回进度值

    iOS开发之AFNetworking 3.0.4使用

    将多张图片上传到 iOS 中的 FTP 服务器

    将多张图片作为 Facebook 快速上传到服务器 iOS

    js-jssdk微信H5选择多张图片预览并上传(兼容ios,安卓,已测试)

    iOS之保存图片到系统相册和从系统相册选取一张或者多张照片