2 Stimmen

Base64-Dekodierungsproblem mit Bilddaten - iphone

Ich habe ein Problem bei der Dekodierung von Bilddaten aus einer Base 64 kodierten Zeichenfolge. Ich verwende die Dateien base64.h und base 64.m, die unter dem folgenden Link heruntergeladen wurden

http://cdn.imthi.com/e6cef8/wp-content/uploads/2010/08/base64.zip

Dies ist mein Code

[Base64 initialize];
NSData * data = [Base64 decode:imageString];
imgview.image=[UIImage imageWithData:data];

aber in der Bildansicht wird nichts angezeigt,

Ich habe getestet, indem ich die Base-64-Zeichenkette (aus der Debugger-Konsole) mit einem Online-Base-64-Decoder dekodiert habe, der das richtige Bild liefert, Ich habe auch getestet, indem ich die Daten wie folgt in eine Datei geschrieben habe

[data writeToFile:imagePath atomically:YES];

Es wird eine jpg-Datei angezeigt, aber ich kann diese Bilddatei nicht öffnen, es gibt eine Fehlermeldung wie

Die Datei "test.jpg" konnte nicht geöffnet werden.

"Sie könnte beschädigt sein oder ein Dateiformat verwenden, das von der Vorschau nicht erkannt wird. Was ist das Problem mit meinem Code? Kann mir jemand helfen.....

Dankeschön

3voto

djromero Punkte 19411

Versuchen Sie eine andere Base-64-Implementierung, ich verwende die von Kolloquium Open-Source-Projekt:

    #import "NSDataAdditions.h" 

    /* encoded string to image */
    NSString *imageString = @"";
    NSData * data = [NSData dataWithBase64EncodedString:imageString];
    UIImage *image1 = [UIImage imageWithData:data];

    /* image to encoded string, back to image */
    imageString = [UIImagePNGRepresentation(image) base64Encoding];
    data = [NSData dataWithBase64EncodedString:imageString];
    UIImage *image2 = [UIImage imageWithData:data];

Siehe NSAdditions Dateien: NSAdditions.h + NSAdditions.m

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X