Comment envoyer arraybuffer que les binaires via Websocket?

Je suis en train de travailler sur un projet avec Mozilla Europe. Dans ce projet, j'utilise websocket par Worlize (côté serveur) et Mozilla (côté client), Node.js essayer de télécharger des fichiers à partir d'un client à un serveur.

Mon objectif est d'envoyer un arraybuffer du fichier sur le serveur. Créer le arraybuffer et de l'envoyer, il est très bien.

Mais mon serveur me dit que arraybuffer est une utf8 message et pas un message binaire.

Faire j'ai mal compris quelque chose? Si non, comment puis-je corriger cela?

Côté Client:

    reader = new FileReader();
    reader.readAsArrayBuffer(file);
    reader.onload = function(e) {
        connection.send(e.target.result); 
    };

Côté serveur:

ws.on('message', function(message,flags) {
if (!flags.binary) {
    //some code
}
else {
    console.log('It\'s a binary');
}

J'ai essayer avec Blob trop, même résultat. Le binaire de la partie est invisible.

  • C'est un Q&Un site, "de la fourche et de participer" n'arrivera pas ici (voir la section stackoverflow.com/faq). Aussi, s'il vous plaît ne demandez pas aux gens de creuser par le biais de votre code - inclure le code minimal nécessaire pour expliquer exactement ce que vous êtes en train de faire.
  • Je réalise que cela a été demandé il y a quelques temps donc, après avoir dit que je veux juste ajouter que Firefox 11 et suivants de soutien binaire ArrayBuffer et Blob.
InformationsquelleAutor Chris | 2012-03-03