2014-10-02 110 views
0

所以这个问题对我来说根本没有意义,因为这段代码在几个月前写完时完美无缺地工作。我甚至对“照片上传作品”的信息做出了承诺。尽管如此,我昨晚打开了它,无法让它为我的生活工作。AFNetworking没有为照片上传设置正确的内容类型

,我不断收到错误是“请求失败:无法接受的内容类型:text/html的”

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

``` - (无效)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%,但然后该错误开始说它错误的内容类型和照片从未实际上发布到我的服务器。

请帮助:(

+0

[AFNetworking和POST请求]的可能重复(http://stackoverflow.com/questions/12447725/afnetworking-and-post-request) – mattt 2014-10-13 20:13:20

回答

0

改变的是服务器改变了它的响应格式为终点。该错误消息是从服务器的响应是HTML,而不是通过JSON响应串行预期。

相关问题