Node.js 如何使用bodyparser对NodeJS中的图像进行解码

Node.js 如何使用bodyparser对NodeJS中的图像进行解码,node.js,Node.js,我试着在NodeJS中用body解析器解码图像文件,并上传到服务器url。但我在uplaod和使用base64映像解析映像方面没有取得成功 if (req.method === 'POST') { //base64_decode(req.body.profileImg, 'copy.jpeg'); //console.log(req.body.profileImg); var NewImageName = Math.random().toString(36).subs

我试着在NodeJS中用body解析器解码图像文件,并上传到服务器url。但我在uplaod和使用base64映像解析映像方面没有取得成功

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

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

    }
});

您可以尝试使用此代码对base64图像进行解码

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

    });
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编码字符串,就可以将其发送到我在上面创建的函数decodeBase64Image,该函数将解码图像,然后可以上传它

谢谢