在nodejs中处理图像时,我遇到了data
事件无法使用管道响应流的问题。
var http = require('http'),
url = require('url');
var httpServer = http.createServer(function(req,res){
var path = url.parse(req.url).pathname;
var fstream = $.FS.createReadStream('/root/image'+path);
fstream.on('error',function(){
res.writeHead(404);
return res.end();
});
fstream.pipe(res);
});
httpServer.listen(8080);
http.get({
host : '127.0.0.1',
port : 8080,
path : '/image.jpg'
},function(res){
res.on('data',function(){
console.log('data received'); //nothing happened
});
}).on('error',function(er){
throw er;
});
我做错了什么吗?或者这是一个节点错误吗?
答案 0 :(得分:0)
在我的测试中,如果响应的状态为304(未修改),则不会触发data
事件。如果您不害怕终端(或Windows中的命令行),解决方案相当容易。打开命令工具并cd
到包含图像的目录。在那里,您可以使用以下命令使您的文件更新(将filename.ext
替换为您的文件名称):
touch filename.ext
copy /b filename.ext +,,
要重新运行该命令,请按↑向上箭头,然后按输入