我正在使用node-png库来创建png,然后将其保存在本地目录中,但是当我打开它时,它表示它不存在。我想要读取数据并将其发送出去,或者让响应发送带有图片的<img>
字段。这是我到目前为止所做的:
//write out img data
png.pack().pipe(dst);
//link to new image made
var link = fs.createReadStream('out.png'); //says that this does not exist
//write out response with img then delete file
response.writeHead(200, {"Content-Type": "image/png"});
response.end(link, 'binary');
答案 0 :(得分:2)
难道你不能完全跳过写入文件吗?
var output = png.pack();
res.setHeader('Content-Type', 'image/png');
output.pipe(res);
如果您确实需要同时将其写入磁盘,请参阅以下答案:
https://stackoverflow.com/a/19561718/944006
如果你需要先写入磁盘,然后从那里读取,你可以这样做:
var output = png.pack();
output.pipe(dst, { end: false });
output.on('end', function(){
//Read your file and set your response here.
}
我没有测试任何这些,但这是管道工作的一般方式。