J'essaye de convertir mon UIImage
d'un UIImageView
en une chaîne car les données sont stockées en Base64. J'utilise la méthode ci-dessous pour convertir l'image mais elle tombe quand on essaye de mettre à jour convertistr.Obtention d'une erreur lors de la conversion de UIImage en NSSString via NSData
func convertImg() {
let imageData: NSData = UIImagePNGRepresentation(imageView.image!)! as NSData
convertedStr = NSString(data: imageData as Data, encoding: String.Encoding.utf8.rawValue)!
}
Cette fonction concerne environ la version 10 car j'ai essayé différentes manières mais le résultat est toujours le même. L'erreur renvoyée est
'fatal error: unexpectedly found nil while unwrapping an Optional value' and
'function signature specialization) ->() to @callee_owned (@unowned Swift.UnsafeBufferPointer) -> (@out()), Argument Types : [@callee_owned (@unowned Swift.UnsafeBufferPointer) ->()]> of generic specialization of Swift.StaticString.withUTF8Buffer ((Swift.UnsafeBufferPointer) -> A) -> A'
pourrait-il que la méthode que je utilise nécessite un fichier .png et ne fonctionnera pas avec UIImage
?
(NS) de données a une méthode 'base64EncodedString()' qui pourrait être ce que vous cherchez. - L'interprétation des données de pixels en tant que chaîne UTF-8 ne peut qu'échouer. –
besoin d'afficher l'image dans le serveur? – KKRocks
vérifiez cela: http://stackoverflow.com/questions/11251340/convert-between-uiimage-and-base64-string?answertab=votes#tab-top – KKRocks