前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AFNetworking 上传文件

AFNetworking 上传文件

原创
作者头像
好派笔记
修改2021-11-01 09:10:08
8730
修改2021-11-01 09:10:08
举报
文章被收录于专栏:好派笔记好派笔记

@第一种

代码语言:javascript
复制
    #pragma mark - AFNetworking上传文件

- (void)didClickUploadButtonAction{  

    NSString *fileName = @"hmt";  
    //  确定需要上传的文件(假设选择本地的文件)  
    NSURL *filePath = [[NSBundle mainBundle] URLForResource:fileName withExtension:@"png"];  
    NSDictionary *parameters = @{@"name":@"额外的请求参数"};  
    AFHTTPRequestOperationManager *requestManager = [AFHTTPRequestOperationManager manager];  
    [requestManager POST:@"http://192.168.10.18:8080/AFNetworkingServer/upload" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {  

        /** 
         *  appendPartWithFileURL   //  指定上传的文件 
         *  name                    //  指定在服务器中获取对应文件或文本时的key 
         *  fileName                //  指定上传文件的原始文件名 
         *  mimeType                //  指定商家文件的MIME类型 
         */  
        [formData appendPartWithFileURL:filePath name:@"file" fileName:[NSString stringWithFormat:@"%@.png",fileName] mimeType:@"image/png" error:nil];  

    } success:^(AFHTTPRequestOperation *operation, id responseObject) {  

        [[[UIAlertView alloc] initWithTitle:@"上传结果" message:[[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]  delegate:self cancelButtonTitle:@"" otherButtonTitles:nil] show];  

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {  

        NSLog(@"获取服务器响应出错");  

    }];  

}  </pre> 
 

 @第二种:
    NSData *imageData = UIImagePNGRepresentation(image);

//转码成UTF-8  否则可能会出现错误  


NSString *URLTmp = [NSString stringWithFormat:@"%@%@",CGBaseURL,path];  

NSString *URLTmps = [URLTmp stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  

URLTmp = URLTmps;  

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:URLTmp parameters:body constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {  

    [formData appendPartWithFileData:imageData name:@"headerImg" fileName:@"123.png" mimeType:@"image/png"];  

} error:nil];  



AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];  

NSProgress *progress = nil;  


manager.responseSerializer = [AFHTTPResponseSerializer serializer];  


NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {  

    if (error) {  

        NSLog(@"Error: %@", error);  

    } else {  

        block(responseObject);  
    }  

}];  


[uploadTask resume];  </pre> 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档