iOS开发之使用AFN上传图片

Posted 李洪强

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发之使用AFN上传图片相关的知识,希望对你有一定的参考价值。

  1. //1.创建管理者对象  
  2. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];  
  3. manager.responseSerializer = [AFJSONResponseSerializer serializer];  
  4. manager.requestSerializer = [AFJSONRequestSerializer serializer];  
  5.   
  6. //2.上传文件  
  7. NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"userHeader.png", @"userHeader", nil nil];  
  8. [manager POST:URL parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {  
  9.   
  10.     //上传文件参数  
  11.     [formData appendPartWithFileData:data name:@"userHeader" fileName:@"userHeader.png" mimeType:@"image/jpeg"];  
  12.       
  13. } progress:^(NSProgress * _Nonnull uploadProgress) {  
  14.       
  15.     //打印上传进度  
  16.     CGFloat progress = 100.0 * uploadProgress.completedUnitCount / uploadProgress.totalUnitCount;  
  17.     DLog(@"%.2lf%%", progress);  
  18.       
  19. } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {  
  20.       
  21.     //请求成功  
  22.     DLog(@"请求成功:%@",responseObject);  
  23.       
  24. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {  
  25.       
  26.     //请求失败  
  27.     DLog(@"请求失败:%@",error);  
  28.   
  29. }];  

二、多张图片

  1. //1.创建管理者对象  
  2. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];  
  3. manager.responseSerializer = [AFJSONResponseSerializer serializer];  
  4. manager.requestSerializer = [AFJSONRequestSerializer serializer];  
  5.   
  6. //2.上传文件  
  7. NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"userHeader.png", @"userHeader", @"image.png", @"image", nil nil];  
  8. [manager POST:URL parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {  
  9.   
  10.     //上传文件参数  
  11.     [formData appendPartWithFileData:data1 name:@"userHeader" fileName:@"userHeader.png" mimeType:@"image/jpeg"];  
  12.     [formData appendPartWithFileData:data2 name:@"image" fileName:@"image.png" mimeType:@"image/jpeg"];  
  13.       
  14. } progress:^(NSProgress * _Nonnull uploadProgress) {  
  15.       
  16.     //打印上传进度  
  17.     CGFloat progress = 100.0 * uploadProgress.completedUnitCount / uploadProgress.totalUnitCount;  
  18.     DLog(@"%.2lf%%", progress);  
  19.       
  20. } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {  
  21.       
  22.     //请求成功  
  23.     DLog(@"请求成功:%@",responseObject);  
  24.       
  25. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {  
  26.       
  27.     //请求失败  
  28.     DLog(@"请求失败:%@",error);  
  29.   
  30. }]; 

以上是关于iOS开发之使用AFN上传图片的主要内容,如果未能解决你的问题,请参考以下文章

iOS用AFN上传图片到java后台

ios开发之--使用AFN上传3.1.0上传视频,不走成功回调原因及解决方法

iOS Post上传图片, 文件流的形式

上传图片流到服务器(AFN方法) (多张图片)(图片流)

利用AFN上传多张图片到服务器

iOS开发AFN使用二:AFN文件下载与文件上传