2017-05-06 3 views
0

Ich habe ein Bild, das ich versuche, von einem Web-Service zu laden. Ich habe die Daten, die ich vom Web-Service bekommen habe, getestet, indem ich vorher data:image/gif;base64, hinzugefügt habe und es als URL in Chrome eingegeben und das Bild perfekt geladen habe.Legen Sie ein UIImageView-Bild basierend auf binären Daten

In meiner iOS App habe ich versucht profilePic.image = UIImage.init(data: picData.data(using: .utf8)!) wo picData ist eine Zeichenfolge mit den Inhalten, die ich oben getestet, aber nichts geladen.

Ich habe das Gefühl, was ich falsch gemacht habe ist irgendwo in picData.data(using: .utf8)!), aber ich bin mir nicht sicher. Irgendwelche Vorschläge? https://pastebin.com/xiWHaPB6

Antwort

1

UTF-8 ist eine Kodierung für Unicode Strings nicht beliebige 8-Bit-Daten: Ich arbeite mit

Falls es, hier sind die binären Daten hilft!

Wenn der von Ihnen angezeigte Mime-Typ korrekt ist, handelt es sich bei den Daten um einen Base64-codierten String. Das erste, was Sie tun möchten, ist, diese Zeichenfolge in eine unverschlüsselte binäre Form zu konvertieren. Dann versuchen Sie, Ihre UIImage daraus zu erstellen:

let unencodedData = Data(base64Encoded: picData) 
let image = UIImage(data: unencodedData) 
Verwandte Themen