2015-12-21 12 views
6

Mam dane binarne (takie jak plik obrazu) w buforze obiektu (nie pliku) i chcę podawać surowe dane binarne do klienta przez http.ServerResponse. Jak mogę to zrobić?Wysyłaj binarny bufor do klienta za pośrednictwem http.ServerResponse w Node.js

+0

Czy możesz wyjaśnić, dlaczego pytanie jest w miarę możliwości odrzucane? –

+0

Nie wiem, dlaczego jest on odrzucany, ale szukałem przez źródło i API Node's Response.js, a ja logowałem jego klucze, ale nie mogłem znaleźć metody zapisu. Jaka jest metoda zapisu? Gdzie się tego nauczyłeś? – pward

Odpowiedz

10

Udało mi się znaleźć odpowiedź. Po prostu dodaj "binarne" kodowanie zarówno do write(), jak i end().

res.write(buffer,'binary'); 
    res.end(null, 'binary'); 

Należy pamiętać, że zarówno funkcja "write", jak i "end" wymaga określonego "binarnego" kodowania. W przeciwnym razie bufor jest zakodowany jako UTF-8. (Tak, nagłówek JPEG "ff d8 ff e0" będzie "c3 bf c3 98 c3 bf c3 a0" ...)

Powiązane problemy