AFNetworking 上传文件

本文转载至 http://blog.csdn.net/hmt20130412/article/details/36487055

@第一种:我的

 

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. #pragma mark - AFNetworking上传文件  
  2. - (void)didClickUploadButtonAction{  
  3.   
  4.     NSString *fileName = @"hmt";  
  5.     //  确定需要上传的文件(假设选择本地的文件)  
  6.     NSURL *filePath = [[NSBundle mainBundle] URLForResource:fileName withExtension:@"png"];  
  7.     NSDictionary *parameters = @{@"name":@"额外的请求参数"};  
  8.     AFHTTPRequestOperationManager *requestManager = [AFHTTPRequestOperationManager manager];  
  9.     [requestManager POST:@"http://192.168.10.18:8080/AFNetworkingServer/upload" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {  
  10.           
  11.         /** 
  12.          *  appendPartWithFileURL   //  指定上传的文件 
  13.          *  name                    //  指定在服务器中获取对应文件或文本时的key 
  14.          *  fileName                //  指定上传文件的原始文件名 
  15.          *  mimeType                //  指定商家文件的MIME类型 
  16.          */  
  17.         [formData appendPartWithFileURL:filePath name:@"file" fileName:[NSString stringWithFormat:@"%@.png",fileName] mimeType:@"image/png" error:nil];  
  18.           
  19.     } success:^(AFHTTPRequestOperation *operation, id responseObject) {  
  20.           
  21.         [[[UIAlertView alloc] initWithTitle:@"上传结果" message:[[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]  delegate:self cancelButtonTitle:@"" otherButtonTitles:nil] show];  
  22.           
  23.     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {  
  24.           
  25.         NSLog(@"获取服务器响应出错");  
  26.           
  27.     }];  
  28.       
  29. }  

@第二种:(朋友的)

 

 

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. NSData *imageData = UIImagePNGRepresentation(image);  
  2.   
  3. //转码成UTF-8  否则可能会出现错误  
  4.   
  5.   
  6. NSString *URLTmp = [NSString stringWithFormat:@"%@%@",CGBaseURL,path];  
  7.   
  8. NSString *URLTmps = [URLTmp stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  
  9.   
  10. URLTmp = URLTmps;  
  11.   
  12. NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:URLTmp parameters:body constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {  
  13.       
  14.     [formData appendPartWithFileData:imageData name:@"headerImg" fileName:@"123.png" mimeType:@"image/png"];  
  15.       
  16. } error:nil];  
  17.   
  18.   
  19.   
  20. AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];  
  21.   
  22. NSProgress *progress = nil;  
  23.   
  24.   
  25. manager.responseSerializer = [AFHTTPResponseSerializer serializer];  
  26.   
  27.   
  28. NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {  
  29.       
  30.     if (error) {  
  31.           
  32.         NSLog(@"Error: %@", error);  
  33.           
  34.     } else {  
  35.           
  36.         block(responseObject);  
  37.     }  
  38.       
  39. }];  
  40.   
  41.   
  42. [uploadTask resume];  
posted @ 2015-06-15 15:08  天牛  阅读(475)  评论(0编辑  收藏  举报