| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
end5
9年前发布

AFNetworking 上传文件

@第一种

    #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(@"获取服务器响应出错");                            }];                    }  

@第二种:
    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];