通过Node.js中的http.ServerResponse向客户端发送二进制缓冲区

Tsu*_*oka 9 binary node.js express

我在Buffer对象(不是文件)中有二进制数据(如图像文件),并希望通过http.ServerResponse将原始二进制数据提供给客户端.我该怎么做 ?

Tsu*_*oka 16

我设法找到了答案.只需将"binary"编码添加到write()和end().

    res.write(buffer,'binary');
    res.end(null, 'binary');
Run Code Online (Sandbox Code Playgroud)

请注意,"write"和"end"函数都需要指定"binary"编码.否则,缓冲区编码为UTF-8.(因此,JPEG标题"ff d8 ff e0"将为"c3 bf c3 98 c3 bf c3 a0"......)