Node.js,socket.io和base64-to-image无法正常工作

时间:2018-07-05 23:32:07

标签: javascript node.js socket.io

我正在使用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字符串”。 有人可以帮忙吗?

1 个答案:

答案 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