Buffer问题,请问这个代码哪里有问题?为什么读取的不是Buffer对象? - CNode技术社区

Buffer问题,请问这个代码哪里有问题?为什么读取的不是Buffer对象?
发布于 9 年前 作者 microzz 4370 次浏览 来自 问答

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)
})

}) QQ截图20161006124051.pngQQ截图20161006124355.png

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到该目录运行,感谢

回到顶部

AltStyle によって変換されたページ (->オリジナル) /