当前位置:  开发笔记 > 编程语言 > 正文

如何使用bodysarser解码节点js中的图像

如何解决《如何使用bodysarser解码节点js中的图像》经验,为你挑选了1个好方法。

我已经尝试使用正文解析器在节点js中解码图像文件并上传到服务器URL.但我没有使用base64图像获得uplaod和parser图像的成功.

 if (req.method === 'POST') {
    //base64_decode(req.body.profileImg, 'copy.jpeg');
    //console.log(req.body.profileImg);
    var NewImageName =  Math.random().toString(36).substring(7);
    var imageBuffer = decodeBase64Image(req.body.profileImg);
    fs.writeFile('../assets/images/seller/'+NewImageName+'.png', imageBuffer.data, function(err) {

    });

Punit Gajjar.. 5

您可以尝试使用此代码解码base64图像.

function decodeBase64Image(dataString) {
  var matches = dataString.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/),
    response = {};

  if (matches.length !== 3) {
    return new Error('Invalid input string');
  }

  response.type = matches[1];
  response.data = new Buffer(matches[2], 'base64');

  return response;
}


app.post('/UploadImages', function (req,res){
    if (req.method === 'POST') {

        var NewImageName =  Math.random().toString(36).substring(7);
        var imageBuffer = decodeBase64Image(req.body.profileImg);
        fs.writeFile('../assets/images/seller/'+NewImageName+'.png', imageBuffer.data, function(err) {

        });
        res.json(200, {profileImgName: NewImageName });

    }
});

只需在nodeJs函数中获取base64编码的字符串,然后将其发送到我上面创建的解码Image的函数decodeBase64Image,然后就可以上传了.

谢谢



1> Punit Gajjar..:

您可以尝试使用此代码解码base64图像.

function decodeBase64Image(dataString) {
  var matches = dataString.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/),
    response = {};

  if (matches.length !== 3) {
    return new Error('Invalid input string');
  }

  response.type = matches[1];
  response.data = new Buffer(matches[2], 'base64');

  return response;
}


app.post('/UploadImages', function (req,res){
    if (req.method === 'POST') {

        var NewImageName =  Math.random().toString(36).substring(7);
        var imageBuffer = decodeBase64Image(req.body.profileImg);
        fs.writeFile('../assets/images/seller/'+NewImageName+'.png', imageBuffer.data, function(err) {

        });
        res.json(200, {profileImgName: NewImageName });

    }
});

只需在nodeJs函数中获取base64编码的字符串,然后将其发送到我上面创建的解码Image的函数decodeBase64Image,然后就可以上传了.

谢谢

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有