Estoy trabajando en un proyecto con Mozilla Europe. En este proyecto, uso websocket de Worlize (lado del servidor) y Mozilla (lado del cliente), Node.js para intentar cargar archivos de un cliente a un servidor.
Mi objetivo actual es enviar un arraybuffer
del archivo al servidor. Crea el arraybuffer y envíalo está bien.
Pero mi servidor me dice que arraybuffer
es un mensaje utf8 y no un mensaje binario.¿Cómo enviar arraybuffer como binario a través de Websocket?
¿Entiendo mal algo? Si no, ¿cómo puedo corregir eso?
lado del cliente:
reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = function(e) {
connection.send(e.target.result);
};
lado del servidor:
ws.on('message', function(message,flags) {
if (!flags.binary) {
//some code
}
else {
console.log('It\'s a binary');
}
trato con Blob
también, mismo resultado. La parte binaria es invisible.
Se trata de un Q & R, "tenedor y participar" no va a ocurrir aquí (ver http: //stackoverflow.com/faq). Además, no solicite a las personas que examinen su código: incluya el código mínimo necesario para explicar qué está haciendo exactamente. –
Me doy cuenta de que esto fue preguntado hace un tiempo, por lo que he dicho que solo quiero agregar que Firefox 11 y versiones posteriores admiten ArrayBuffer y Blob binarios. – SpliFF