我正在尝试使用http POST和AFNetworking在其他一些字符串中发送base64编码的图像。我试图将参数作为NSDictionary发送:
NSMutableDictionary *info = [NSMutableDictionary dictionary];
[info setValue:filedata forKey:@"filedata"];
[info setValue:comments forKey:@"comments"];
[info setValue:username forKey:@"username"];
[info setValue:@"jpg" forKey:@"filetype"];
[info setValue:filename forKey:@"filename"];
使用AFNetworking 和POST:
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager POST:@"https://myurl.com/fileupload" parameters:info progress:nil success:^(NSURLSessionTask *task, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
但是我不知道此时还有什么可做的。我错过了什么?谢谢
答案 0 :(得分:1)
您可以使用以下示例
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager POST:@"https://myurl.com/fileupload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData
name:@"key name for the image"
fileName:photoName mimeType:@"image/jpeg"];
} success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"Response: %@", responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"Error: %@", error);
}];