1
J'ai un NSInputStream que j'envoie au serveur et pendant que le téléchargement est en cours, je veux afficher l'image qui est en train de télécharger. La méthode est située dans singleton et reçoit ce NSInputStream. Est-il possible de lire ce flux et de le convertir en UIImage? J'ai essayé avec cela, mais pas de chance. Où est mon erreur?Comment convertir NSInputStream en UIImage
var buffer = [UInt8](count:1024, repeatedValue: 0)
thumbnailStream.open()
if (thumbnailStream.hasBytesAvailable){
let len : Int = inputStream.read(&buffer, maxLength: buffer.count)
var pictureData = NSData(bytes: buffer, length: len)
var imagess = UIImage(data: pictureData)!
self.headerProgress.imageView.image = imagess
print("Data of image = \(pictureData.length)")
}else{
print("No bytes")
}
Merci!
Avez-vous utilisé le débogueur? Que se passe-t-il réellement lorsque vous exécutez le code que vous avez publié? – rmaddy
La variable 'pictureData' a la longueur du compte tampon' 1024'. J'ai changé la valeur du compte et la longueur de 'pictureData' est changée à la valeur du compte et aussi l'exécution échoue et la ligne' pictureData' du code est mise en évidence. En outre, je suis sûr que j'envoie les données d'image à cette méthode parce que le média est téléchargé avec succès sur le serveur. @rmaddy – Srdjan
Vous devez lire toutes les données du flux d'entrée, pas seulement les 1024 premiers octets. – rmaddy