Error Domain=NSCocoaErrorDomain Code=3840 "Ungültiger Wert Zeichen 0." UserInfo={NSDebugDescription=Ungültiger Wert Zeichen 0.}
Ich versuche zum hochladen von Bildern durch die Umwandlung von image in base64-format. Und ich bin immer folgende Fehlermeldung.
Error Domain=NSCocoaErrorDomain Code=3840 "Ungültiger Wert Zeichen 0." UserInfo={NSDebugDescription=Ungültiger Wert Zeichen 0.}
Entnehmen Sie bitte meinem code
NSData *imageData = UIImagePNGRepresentation(image);
NSString *imageDataString = [imageData base64EncodedString];
Hier ist die Post-Anforderung, Methode
- (id) postRequest:(NSURL *)postURL postString:(NSString *)postString
{
NSError * error=nil;
NSURLResponse * urlResponse;
NSData *myRequestData = [ NSData dataWithBytes: [ postString UTF8String ] length: [ postString length ]];
NSMutableURLRequest * request =[[NSMutableURLRequest alloc]initWithURL:postURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10];
[request setHTTPBody: myRequestData];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
NSData * data =[NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
if (!data)
{
return nil;
}
id jsonnResponse =[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
return jsonnResponse;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
bedeutet einfach, dass der (JSON) string leer ist, haben Sie nichts aus der server.
Bekommen
NSData
aus einem string gibt es eine weitere komfortable API:Eigentlich eine base64-Strings ist nicht JSON als im header angegeben. Das könnte das problem verursachen.
PS: benutze nicht synchron – deprecated – API, um Daten über das Netzwerk laden
Das problem in dieser Zeile des Codes, die
NSJSONSerialization
können nicht analysieren, Ihre ReaktionUnd der Fehler zeigt an, dass Ihre Antwort vom server nicht korrekt.
Die Antwort vom server müssen gültige JSON mit einer top-level-container wie ein array oder ein dictionary. Prüfen Sie die Reaktion in http://jsonlint.com