Ich versuche, ein Bild von meinem NodeJS Server zu einem iOS-Client über Socket.ioSwift socket.io und Knoten socket.io Binärdatei Senden (Bild)
senden Ich bin mit socket.io auf Server-Seite und socket.io-client-swift auf der Client-Seite.
Ich schicke die binären Daten wie folgt aus:
fs.readFile(imageName+".jpg", function(err, buf){
// it's possible to embed binary data
// within arbitrarily-complex objects
io.emit('getPhoto', { image: true, buffer: buf });
});
Wie sein dokumentiert in http://socket.io/blog/introducing-socket-io-1-0/#binary
Aber mein Problem ist, dass ich weiß nicht, wie die Daten auf Client-Seite zu verarbeiten.
Ich habe versucht, es als NSInputStream zu werfen, aber es wird ein Casting-Fehler auf diesem erhalten.
Auf meiner Client-Seite mache ich das:
socket.on("getPhoto") { data,ack in
let tmp = data[0] as? NSArray
let buffer = tmp![1] as? NSData
if (buffer != nil) {
let img = UIImage(data: buffer!)
self.setImage!(img!)
}
}
Wie bekomme ich das Bild aus diesem Strom?
Vielen Dank für jede Hilfe
ich den Fehler bekommen: Kann nicht Wert vom Typ ‚[ANYOBJECT]‘ konvertieren Ah eingeben ‚NSData‘ in Zwang – Kingalione
Ja, Daten sind ein Array. Sie müssen in "NSData" umwandeln oder "data [0] als NSData" umwandeln. – sas
Oh yeah aber du musst mit casten wie? Aber damit geht es nicht in den if-Block. – Kingalione