作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 nodeJS 将经过处理的图像保存在 base64 字符串中。
var buff = new Buffer(base64data,'base64');
console.log(base64data);
var stream = fs.createWriteStream('/path/to/thefile.png');
stream.write(buff)
stream.end()
但是,生成的文件是空的。
当我获取 console.log(base64data);
的输出并在本地解码时,它会生成一个有效的 png 二进制文件,那么为什么文件是空的?
该文件是一个 3600x4800 像素的 png 文件(即它很大),这可能是一个因素吗?
此外,我也尝试了 writeFile
,但没有成功。
是的,fs
是 require('fs')
谢谢
最佳答案
你的 stream.end() 太快了,因为什么都没有写。记住它是异步函数。
var buff = new Buffer(base64data,'base64');
console.log(base64data);
var stream = fs.createWriteStream('/path/to/thefile.png');
stream.write(buff);
stream.on("end", function() {
stream.end();
});
关于node.js - NodeJS writeStream 空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13338350/
我是一名优秀的程序员,十分优秀!