所以这个问题对我来说根本没有意义,因为这个代码几个月前我写的时候完美无缺。我甚至提交了一条消息"照片上传工作"。尽管如此,我昨晚打开它并且无法让它为我的生活工作。
我一直得到的错误是"请求失败:不可接受的内容类型: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%,然后该错误开始说错误的内容类型,照片从未真正发布到我的服务器。
请帮助:(
答案 0 :(得分:0)
更改的是服务器更改了该端点的响应格式。错误消息是来自服务器的响应是HTML,而不是响应序列化程序所期望的JSON。