Ios 正在使用AFNetworking将图像上载到Parse.com,导致图像损坏
我正在尝试使用AFNetworking 2.0将图像上载到Parse.com。 当我下载存储在“Parse”上的图像时,生成的文件已损坏 通过进行差异分析,我发现以下数据已附加到开头: 文件末尾还附加了“边界”数据 我做错了什么?Mime类型 我使用“curl”发送相同的文件,一切都正常 这是我用于发送的代码:Ios 正在使用AFNetworking将图像上载到Parse.com,导致图像损坏,ios,iphone,afnetworking,parse-platform,afnetworking-2,Ios,Iphone,Afnetworking,Parse Platform,Afnetworking 2,我正在尝试使用AFNetworking 2.0将图像上载到Parse.com。 当我下载存储在“Parse”上的图像时,生成的文件已损坏 通过进行差异分析,我发现以下数据已附加到开头: 文件末尾还附加了“边界”数据 我做错了什么?Mime类型 我使用“curl”发送相同的文件,一切都正常 这是我用于发送的代码: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager s
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager setResponseSerializer:[AFJSONResponseSerializer serializer]];
[manager.requestSerializer setValue:@"image/jpeg" forHTTPHeaderField:@"Content-Type"];
[headers enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *value, BOOL *stop) {
[manager.requestSerializer setValue:value forHTTPHeaderField:key];
}];
[manager POST:@"https://api.parse.com/1/files/imagefile.jpg"
parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
{
NSData *imgData = UIImageJPEGRepresentation(image, 1.0f);
[formData appendPartWithFileData:imgData
name:@"imagefile"
fileName:@"imagefile.jpg"
mimeType:@"image/jpeg"];
}
success:^(AFHTTPRequestOperation *operation, id responseObject) {
success(operation, responseObject);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
failure(operation, error);
}
];
您不使用Parse.com SDK执行此操作有什么特殊原因吗?是的,不希望代码与Parse'SDK耦合,因为我们可能会更改后端。一切都使用RESTAPI。
NSMutableString *urlString = [NSMutableString string];
[urlString appendString:@"https://api.parse.com/1/"];
[urlString appendFormat:@"files/imagefile.jpg"];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request addValue:@"***********" forHTTPHeaderField:@"X-Parse-Application-Id"];
[request addValue:@"***********" forHTTPHeaderField:@"X-Parse-REST-API-Key"];
[request addValue:@"image/jpeg" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:UIImageJPEGRepresentation(image, 0.3f)];
NSURLResponse *response = nil;
NSError *error = nil;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
NSString *fileUrl = [httpResponse allHeaderFields][@"Location"];