我正在使用node.js和socket.io将映像从服务器传输到客户端。这些是我的代码,
renderer.js:
const imgFile = fs.readFileSync(screenShotPath);
const imgFile64 = new Buffer(imgFile).toString('base64');
console.log("image data:"+ imgFile64);
socket.emit('img', imgFile64);
receiver.js:
var base64ToImage = require('base64-to-image');
socket.on("img", function(info) {
console.log("inside receiver");
var base64Str = info;
var path = 'path to file';
var optionalObj = {'fileName': 'test', 'type':'png'};
var imageInfo = base64ToImage(base64Str,path,optionalObj);
});
我收到一条错误消息,指出“无效的base64字符串”。 有人可以帮忙吗?
答案 0 :(得分:1)
您可以在没有base64-to-image
socket.on("img", function(info) {
console.log("inside receiver");
var base64Str = info;
var buff = new Buffer(base64Str ,"base64");
fs.writeFileSync("test.png", buff)
});
PS:
在服务器端,您不必执行new Buffer(imgFile)
,因为imgFile
已经是Buffer