我正在编写自己的http模块(我知道node.js包含一个) 我正在使用网络模块 当我收到静态二进制(图片)文件的请求时,如何使用二进制文件生成HTTP响应? 当我为文本文件(例如.html文件)做到这
我正在使用网络模块
当我收到静态二进制(图片)文件的请求时,如何使用二进制文件生成HTTP响应?
当我为文本文件(例如.html文件)做到这一点时,它只是工作.. 如果您使用的是net模块,则可能使用的代码如下:
var server = net.createServer(function (socket) { });
什么是插座?它代表网络上的数据流.
在对象中,Socket是一个WriteableStream,在这里阅读更多:http://nodejs.org/docs/v0.6.5/api/streams.html
在读取文件时,可以将内容作为String,Buffer或ReadableStream获取
将文件作为流读取的最简单方法是使用函数:http://nodejs.org/docs/v0.6.5/api/fs.html#fs.createReadStream
例如
var fileAsAstream = fs.createReadStream(filePath);
为了将二进制读取流的内容传输到写入流,您可以使用管道功能http://nodejs.org/docs/v0.6.5/api/streams.html#stream.pipe功能
例如
fileAsAstream.pipe(socket);