Buffer问题,请问这个代码哪里有问题?为什么读取的不是Buffer对象?
logo.jpg是同文件夹下的一张图片 var fs = require(‘fs’) fs.readFile(‘logo.jpg’, function(err, origin_buffer) { console.log('isBuffer: ’ + Buffer.isBuffer(origin_buffer)) fs.writeFile(‘logo_buffer.jpg’, origin_buffer, function(err) { if (err) console.log(err) })
var base64Image = origin_buffer.toString('base64');
console.log(base64Image)
var decodedImage = new Buffer(base64Image, 'base64')
console.log(Buffer.compare(origin_buffer, decodedImage))
fs.writeFile('logo_decoded.jpg', decodedImage, function(err) {
if (err) console.log(err)
})
})
3 回复
你应该判断一下err
fs.readFile('./logo.png',function (err,data) {
if (err)return console.info(err);
console.info(data);
});
The callback is passed two arguments (err, data), where data is the contents of the file. If no encoding is specified, then the raw buffer is returned. 回调传递两个参数,data是文件的内容,如果没有指定编码返回的是buffer
感谢,根据错误提示已经解决,我用的相对路径,在命令行里面要cd到该目录运行,感谢
@microzz 扎心了。。