我想使用的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();
});
更好:
var buff = new Buffer(base64data,'base64');
console.log(base64data);
var stream = fs.createWriteStream('/path/to/thefile.png');
stream.write(buff);
stream.end();
stream.on('finish', () => {
//'All writes are now complete.'
});
stream.on('error', (error) => {...});