zoukankan      html  css  js  c++  java
  • 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];  
  • 相关阅读:
    webservice的几种调用方式
    捕获的异常到控制台的的信息转为String输出,在保存日志方面有用
    IO文件的读取与写入
    eclipse修改内存大小
    Oracle序列的创建与删除
    NFS挂载-实现文件共享
    arraylList.add(int,obj)的底层是怎么样的??
    Oracle修改表字段数据类型
    SVN版本库打包迁移备份恢复
    linux中tar详解
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/4577240.html
Copyright © 2011-2022 走看看