Pracuję nad projektem z Mozillą Europe. W tym projekcie używam websocket przez Worlize (po stronie serwera) i Mozilla (strona klienta), Node.js, aby spróbować przesłać pliki z klienta na serwer.
Mój obecny cel to wysłanie pliku arraybuffer
na serwer. Utwórz arraybuffer i wyślij go w porządku.
Ale mój serwer mówi mi, że arraybuffer
jest wiadomością utf8, a nie binarną.Jak wysłać arraybuffer jako plik binarny przez Websocket?
Czy źle zrozumiałem coś? Jeśli nie, jak mogę to poprawić?
po stronie klienta:
reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = function(e) {
connection.send(e.target.result);
};
po stronie serwera:
ws.on('message', function(message,flags) {
if (!flags.binary) {
//some code
}
else {
console.log('It\'s a binary');
}
próbuję z Blob
też samego rezultatu. Część binarna jest niewidoczna.
To Q & A strona "widelec i uczestniczyć" nie wydarzy się tutaj (patrz http: //stackoverflow.com/faq). Nie należy też prosić ludzi o przeglądanie kodu - należy podać minimalny kod niezbędny do wyjaśnienia, co dokładnie robisz. –
Zdaję sobie sprawę, że zostało to zadane jakiś czas temu, więc powiedziałem, że chcę tylko dodać, że Firefox 11 i kolejne obsługują binarne ArrayBuffer i Blob. – SpliFF