Mar*_*rio 3 file stream node.js
我正在尝试打开一个img文件并通过http发送它.我已经读过这样做的最佳方法是creatReadStream,因为它是异步的,性能更好.
这是我的代码:
var file = fs.createReadStream(image);
file.on("error", function(err){
...
});
res.writeHead(200, {"Content-Type" : "image/png"});
file.on("data", function(data) {
res.write(data);
})
file.on("end", function() {
res.end();
})
Run Code Online (Sandbox Code Playgroud)
我怎么知道文件大小让res知道才能在标题中发送它?
我不喜欢没有回写的写头,我该怎么办?
谢谢.
该res.writeHead()
呼叫是在正确的地方,但事件监听器可以被替换file.pipe(res);
为你只从读取流的写入流转发数据res
.此外,HTTP响应代码202
似乎不适合为什么不使用200
.
var file = fs.createReadStream(image);
res.writeHead(200, {"Content-Type" : "image/png"});
file.pipe(res);
Run Code Online (Sandbox Code Playgroud)
var stat = fs.statSync('path/to/imagefile');
response.writeHead(200, {
'Content-Type' : 'image/png',
'Content-Length': stat.size
});
fs.createReadStream('path/to/imagefile').pipe(response);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8857 次 |
最近记录: |