当前位置:   NODEJS > 正文

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

node.js,服务器,json,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

我已经尝试使用正文解析器在节点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,然后就可以上传了.

谢谢

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/NODEJS/detail/11072
推荐阅读
相关标签
  

闽ICP备14008679号