首页 > 代码库 > iOS开发之使用AFN上传图片

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. }];  

二、多张图片

[objc] view plain copy
  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上传图片