AFNetworking 2-Antwortfehler (Inhaltstyp: Text / HTML und nicht JSON)
Nachdem ich fast jede Antwort zu diesem Thema ausprobiert habe, habe ich keine funktionierende Antwort auf mein Problem gefunden.
Das Problem: Also habe ich den Upload-Teil meiner App mit implementiertAFNetworking 2.0.3
nach dem portieren vonAFNetworking 1.3
:
-(void)commandWithParams:(NSMutableDictionary*)params onCompletion:(JSONResponseBlock)completionBlock {
NSData* uploadFile = nil;
if ([params objectForKey:@"file"]) {
uploadFile = (NSData*)[params objectForKey:@"file"];
[params removeObjectForKey:@"file"];
}
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://54.204.17.38"]];
manager.responseSerializer = [AFJSONResponseSerializer serilizer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];
AFHTTPRequestOperation *apiRequest = [manager POST:@"/API" parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
if (uploadFile) {
[formData appendPartWithFileData:uploadFile name:@"file" fileName:@"photo.jpg" mimeType:@"image/jpeg"];
}
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
completionBlock(responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
completionBlock([NSDictionary dictionaryWithObject:[error localizedDescription] forKey:@"error"]);
}];
[apiRequest start];
}
Der Fehler bei der Verwendung dieses Codes lautet "Anfrage fehlgeschlagen: inakzeptabler Inhaltstyp: Text / HTML". Möglicherweise fragen Sie sich, ob der Server ordnungsgemäß antwortetJSON
, und ich habe allen Grund zu der Annahme, dass es nach der Überprüfung der Antwortheader in meinem Browser heißt: 'MIME type: application/json
'. Außerdem verwende ich 'header (' Content-type: application / json ')' auch oben in meiner API (PHP-API). Wenn ich nun den Serialisierungstyp ändere auf 'AFHTTPResponseSerializer
' anstatt 'AFJSONResponseSerializer
', es wird das nicht ausspuckenJSON error
, aber es wird mir einen anderen Fehler geben (ein zufälliger, nicht erkannter Selektorfehler).
Irgendwelche Gedanken, warum ich anscheinend keinen kriegen kannJSON
Antwort aus dieser Methode?