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];  
  • 相关阅读:
    5000 端口 转发
    程序的运行环境=内存+运行库+系统调用
    日志异步落库
    malloc分配的空间是连续的吗?
    PE/ELF文件里面存的是什么呢?
    [Python]编码声明:是coding:utf-8还是coding=utf-8呢
    基于可执行代码的缓冲区溢出检测模型
    SU Demos-06Selecting Traces
    SU Demos-05Sorting Traces-03susorty
    SU Demos-05Sorting Traces-02Demos
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/4577240.html
Copyright © 2011-2022 走看看