AFNetworking没有为照片上传设置正确的内容类型

时间:2014-10-02 14:19:47

标签: afnetworking content-type

所以这个问题对我来说根本没有意义,因为这个代码几个月前我写的时候完美无缺。我甚至提交了一条消息"照片上传工作"。尽管如此,我昨晚打开它并且无法让它为我的生活工作。

我一直得到的错误是"请求失败:不可接受的内容类型:text / html"

这没有任何意义,因为我将内容类型设置为image / jpeg !!!!如果有人有任何有用的提示,为什么这将停止工作,我会非常感激:) :) :)。代码如下。

``` - (void)postPhoto:(NSData *)ImageToPost forImageUUID:(NSString *)photoUUID {

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://MyURL"]];
[manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
[manager.requestSerializer setAuthorizationHeaderFieldWithUsername:@"michael" password:@"asdf"];
[manager.requestSerializer setValue:@"image/jpeg" forHTTPHeaderField:@"Content-Type"];


NSDictionary *parameters = @{@"name" : @"MyName", @"photo_uid" : photoUUID};

AFHTTPRequestOperation *op = [manager POST:@"/api/photo/" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

    NSString *fileName = [NSString stringWithFormat:@"Photo_%@.jpg",photoUUID];

    [formData appendPartWithFileData:ImageToPost name:@"image" fileName:fileName mimeType:@"image/jpeg"];


} success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@ ***** %@", operation.responseString, error);
}];
[op setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {

    NSLog(@"%f%% Uploaded", round(((float)totalBytesWritten / (float)totalBytesExpectedToWrite) * 100));

}];
[op start];

} ```

最后,照片上传了100%,然后该错误开始说错误的内容类型,照片从未真正发布到我的服务器。

请帮助:(

1 个答案:

答案 0 :(得分:0)

更改的是服务器更改了该端点的响应格式。错误消息是来自服务器的响应是HTML,而不是响应序列化程序所期望的JSON。