2017-07-29 1 views
0

J'ai un tableau d'images dans mes codes qui sont [UIImage] mais je veux les convertir en base64 - je ne pouvais pas! - J'ai trouvé des questions similaires, mais quand je leur réponse que j'ai reçu Erreur fataleComment convertir les images UIImage en Array de base64 en swift 3?

for i in 0...tinyViewController.imageUpload.count - 1 { 
     print(i) 


     let imageData = UIImageJPEGRepresentation(tinyViewController.imageUpload[i] , 1) 

     let base64String = (imageData! as Data).base64EncodedString(options: NSData.Base64EncodingOptions(rawValue: 0)) 
     print(base64String) 

} 
+0

peut vous signaler l'erreur? –

+0

erreur irrécupérable: trouvé de manière inattendue nil tout en déballant une valeur optionnelle (lldb) –

Répondre

1

Essayez cette fonction pour convertir chaque UIImage en chaîne base64. Je l'ai utilisé dans mon projet. Cela fonctionne parfaitement pour moi.

func base64(from image: UIImage) -> String? { 
     let imageData = UIImagePNGRepresentation(image) 
     if let imageString = imageData?.base64EncodedString(options: .endLineWithLineFeed) { 
      return imageString 
     } 
     return nil 
    } 

Alors, faites ceci:

for i in 0...tinyViewController.imageUpload.count - 1 { 
     print(i) 

     print(base64(from: tinyViewController.imageUpload[i])) 

} 
+0

cette méthode ne s'exécutera pas car mes images sont dans un tableau dans une boucle for et je devrais les utiliser dans cette méthode, mais ne me laisse pas utiliser cette ? –

+0

J'ai mis à jour ma réponse. Insérez ma fonction et changez votre code pendant que j'écris. –

+0

Encore une fois j'ai reçu une erreur fatale: trouvé de manière inattendue nil tout en déballant une valeur facultative (lldb) –