最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Uploading a base64 encoded image to Node.js server not working - Stack Overflow

programmeradmin3浏览0评论

I'm using MEAN.io and i'm trying to upload a base64 encoded image.

Client side, AngularJS:

          // Image we're going to send it out
          var base64Image = files[i];

          var file = {
            image: base64Image,
            type: type,
            filetype: extension,
            characterId: character._id
          };

          var newFile = new MediaSendBase64(file);

          newFile.$save(function(image) {
            if ( !image ) {
              console.log('ERROR IMAGE');
            }
            else {
              console.log('SUCCESS.');

              console.log(image);
            }
          });

Server side, NodeJS, controller:

app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));

exports.uploadBase64 = function(req, res, next) {

  var uploadPath  = path.normalize(process.cwd() + '/packages/characters/public/assets/uploads/'),
      data        = new Buffer(''),
      imgURL      = undefined,        // public URL to show the pic
      type        = undefined;


  // In case the '/uploads' directoy doesn't exist
  if( !fs.existsSync(uploadPath) ) {
    fs.mkdirSync(uploadPath, 0755);
  }


  // Decoding the base64 image
  var data = new Buffer(req.body.image, 'base64');

  // Creating the name for the file --> characterId + type + timestamp + extension
  var filename = req.body.characterId + '-' + req.body.type + '-' + new Date().getTime().toString() + '.' + req.body.filetype;

  // Writing the image to filesystem
  fs.writeFile(uploadPath + filename, data, function (err) {

    if ( err ) {
      console.log(err);
      return res.status(500).json({
        error: 'Cannot upload the image. Sorry.'
      });
    }

    console.log('SAVED ON HD');

    console.log('FINISHING');

    // Sending success response
    res.json({
      imgURL: imgURL,
      type: type
    });

  });

};

The thing is the file stored in /uploads isn't work. I can't see the image. The base64 image is sent and the file is written to hard disk, but it is not possible to open it.

What's wrong? Any suggestion?

Thanks!

I'm using MEAN.io and i'm trying to upload a base64 encoded image.

Client side, AngularJS:

          // Image we're going to send it out
          var base64Image = files[i];

          var file = {
            image: base64Image,
            type: type,
            filetype: extension,
            characterId: character._id
          };

          var newFile = new MediaSendBase64(file);

          newFile.$save(function(image) {
            if ( !image ) {
              console.log('ERROR IMAGE');
            }
            else {
              console.log('SUCCESS.');

              console.log(image);
            }
          });

Server side, NodeJS, controller:

app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));

exports.uploadBase64 = function(req, res, next) {

  var uploadPath  = path.normalize(process.cwd() + '/packages/characters/public/assets/uploads/'),
      data        = new Buffer(''),
      imgURL      = undefined,        // public URL to show the pic
      type        = undefined;


  // In case the '/uploads' directoy doesn't exist
  if( !fs.existsSync(uploadPath) ) {
    fs.mkdirSync(uploadPath, 0755);
  }


  // Decoding the base64 image
  var data = new Buffer(req.body.image, 'base64');

  // Creating the name for the file --> characterId + type + timestamp + extension
  var filename = req.body.characterId + '-' + req.body.type + '-' + new Date().getTime().toString() + '.' + req.body.filetype;

  // Writing the image to filesystem
  fs.writeFile(uploadPath + filename, data, function (err) {

    if ( err ) {
      console.log(err);
      return res.status(500).json({
        error: 'Cannot upload the image. Sorry.'
      });
    }

    console.log('SAVED ON HD');

    console.log('FINISHING');

    // Sending success response
    res.json({
      imgURL: imgURL,
      type: type
    });

  });

};

The thing is the file stored in /uploads isn't work. I can't see the image. The base64 image is sent and the file is written to hard disk, but it is not possible to open it.

What's wrong? Any suggestion?

Thanks!

Share Improve this question asked Oct 14, 2014 at 12:03 Rubén JiménezRubén Jiménez 1,8455 gold badges21 silver badges30 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 9

It maybe that you are trying to save the file with the metadata. hence making the decoded data from base64 invalid.

Here is what I mean:

data:image/png;base64,iVBORw0KG....

The data:image/png;base64 is just meta and is not encoded using base64 so:

You need to strip that from the sting then decode then save to disk.

I use this handy function:

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

source: NodeJS write base64 image-file

So a snip from how I use it:

 var decodedImg = decodeBase64Image(imgB64Data);
 var imageBuffer = decodedImg.data;
 var type = decodedImg.type;
 var extension = mime.extension(type);
 var fileName =  "image." + extension;
 try{
       fs.writeFileSync(".tmp/uploads/" + fileName, imageBuffer, 'utf8');
    }
 catch(err){
    console.error(err)
 }

Where mime is the great node-mime lib. npm install mime.

if your using express file upload you could do this

routerApi.patch('/upload_gambar', (req, res) => {
    var file_data= req.files.upload_file_name.data;
    var base64Image = file_data.toString('base64');
}

if your using multer file upload you could do this

routerApi.patch('/upload_gambar', upload.single('upload_file_name'),(req, res) => {
    var file_data= req.file.buffer
    var base64Image = file_data.toString('base64');
}

Node js base64 to image convert and upload on disk after read and write here code working with me.

var imgBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASgAAACrCAMAAADiivHpAAAA2FBMVEX////u7u7t7e1fORT39/f09PTx8fH6+vrz8/P+/v/+/vxeORRWKQD9//9RJABfORVaMQBdNg7TysNeNQhZLwBRIQBrSSrCt61WKgA9AADt6ORVJgCJcV5PHgA6AABXLwBEAABNGgCfjoCzpZrZ0szk4Nri29aSfGiXgnN/ZVBKEwC7raLVzMbx7ehjQSBZKgB4W0SqmYt1VzyejYBsSzFGCgDGvrcyAACZhnNzUDqCaE/l4+Tk2tH89PLOxLZ3WDpiQRh9ZEpuSyeomoePdl9jQCSVgGtbNBFOnm0VAAAgAElEQVR4nO1di2OiOBOPBUVAkPAQClqr4KuKFdvluo/u3X7f7d7//x99MwlYrOCjj233u83ttY1CmPyYTGYmkwkhrIg1LGcyq0hnrCLxr3hF5BV2Wa3OKw1WafBKnX+11RyvSLVCc3JJ21vNNXmlWWyuXtLcTyM1a478Buo3UL+B+lWAOvs3A3V23NO3e3ZWfPpZ8elnxaef7T69DKga1M6gOU1DoPCrs1qx7bPTSK0dIHW7uWpSc6BEXuqsPKPynBYkUZKgJimSWId/mihq8EETrpJelLrnkFoC/FnO/cWXWg38wZfaLLZd/lIb9WazRtxp0iTu0pjUasPVZETIyDyDuxq1SnbOm2s+nZ1zUnd7/miolAzlMjFxCKha8em1LTGx1dwjoBQcZlJjMVsl9bBneJ1oQGkwHAaWYTe6A4dG9VEaSXiZkrX9NqS+LVDY9pfpNBpdG5Y+/K4KgtWhgiAs2/DDWnmqYMzMftAbFtv+9wHVaH5WSNSzjf7EENQ2BZygUBWLIKgqQKYKyyUV2oMv4ce1++8ECv78/MlYplMD4KACx4gaRt/zvFbLa3m2YVD8nP3/yaPWlSl+/txsvBlQZ6xsZmgsG5GGZfN0VvKns8JnaJlX8qezIpY012CV7Oni6Ezseio1OjDK4B+1W46+XHWnyXzuQpnPk2l33Q4cz6DIXO22akxDy56NNkAVmztIai7MTyF1o5vw5mRWxAaWmsQqUo1XSKEisgrhl9V5pclqTV6ps0qDFJuTK5prRmvPMqnaxhHWtmzHWA3dcaxwyoiSqy5SLXLvVrZjWzgYOzYV7E9EbtQrSJWfQeqhnstki11fRzPfnqGbzXptaQjUElASGUEwCyNoXVRgXotuTbhmfRVD46uE3QwtR8nKCQwcnMBaX1bL4YuQeqrCudWzV7YLNNC6m243WVyrKLUFK/C66T1eozVtFR6RnE8BrtUHACq6aMPn4SDlj3K7QQvEOm0LFg3u6rmged+23pOfrsDgunEMe4nMJNiDmYstuepC02LPApaSvuLw0+5RuzJB4yQ353O4bYr6QTxf9Qw2M6pWbTTWiPLugXqOUVz3cBZrt6l3PRwBcppCpuchkcGU0jQAEuoEPyScFAXR8i8v7xWsj+50D6HqTOxgJWpvAtQpMqr2VKPYnEy/ck0gMEJosT74Djq3aMoonwAmGbDSGI0y/FbgY6xpJEXJlehjYKvE9mD4gd7l/cBvXo3UXaAkVsQmK7wilVTEYqVeUqkXbxJ3Kw1JNgegHOFM59E5Y5z7vpXPdIwyAMKH35ELGNQBPk1jHMbL7MJF3KTQs5GraEdpgu3c2KWujNQt6g6RWtrzk/SoWplyslXZo5yI4sxoo0Zg6IlExNshcBEbelkJAR5iXMLwa18AXHfnCxh0SX0DoxTBDT7YyvfDHmqpf848OxSVClKfpUdtNZfrUSVD+VXUXTNJuxZyQq8LcxoZn1NGOsp3sgBJ1LxswZ8Jiu0IBDhJP8UyGSIXSZGChY3J4eUdsJU/69E26O10YPIW/o9MmOHA9pbAB7ZqklGMKlOMDjomFOMLAZEc87eOPxT8BfIqnoMQTy5c9hlCGt+N2FWpbaOos2/Yxf8fQLFhHQ9UsFRUOvihkPHlkk9u2PPZCn7MQVmSGcewkSgzpwqOTPyEjCYx0b7ciQgfG2npVUrEbg+AMpJwGL30O31Tjho5MFepdh+mLy1udRmHaDhsAsrH1P4ik+mFyZgNLx6eIyOlOqis1LOvXKL8EkbxQWEujlbWcAkM1VqJbEDx7pJwBTx1X5z2qoFS6iYw1Dxknj4Q69hCfItKlUr/+jnC/OC8WF2pH6cexC2DGmABO0NiXi2RMDa+yO1FfAxIvDB5dnVxD0BpbITObxQycdDxQBV0sR+jHtQPaQT71IP8LVSx6yHN/KxU3S02l+oC+uV0EMnzD17Mep3GwCW+dsywK5TIzFCGm/vnIPznPRh9q+5/ktNILVL3joziKEDzzIuwj7HIBt744hOuSilHjbtNgTtkMJZDxIksXLzd1EFJsFTn7mVIfUOj2P9md0HNpNaIpD7rLU53WhKdBFGhjFou2jtcsPtkfI0uZNVRlHz14R0BdYJRrPxlq5bQNlSfpOdrNvObc4kpB09FCudLX2R6RALm9MhAZ3G/gtSfbhTXTnx6PvDHjiqAGLGAmeKuizjFH85Nvhj8tILCPL78xn7PP4AO7wNS9M9uN8p69lRSd3q+h6Nyb1ixItcOPL1Z9nRegbHRou22RX0mYLgWuXCfwUy8KLME1VGZxCinRteqSg1jsNBqjSpSd1Y2HpMq7/Zc2up5mR51rMf+4OKC2Z10gJ9sX2K+J7CARzhkns5OvOD9CtPTFQbW2EFvntGtV5P6E43iraF8nLo77hkWBUEbkfDyE+tg9+LJQvxxidUbJtLn5wkxe6DOGl2RT6NPIfXAylrtNU0YjUyZ4Ype73j6hX0778bPZae8+DozhEg6QP3MUVUjBOUMGfbXs/X+xpWTIGFqTz7Lac8WUHkRuf+T1LHNqYdLFQa6rH45oBTfBY4yZiSOmTkbdxcvhVFWNMWUsGXEfm2BNWMtUdV/G6O4tsfDudcojtc92haoISqDgHGR+cfshYEiIa7RAE7Juh73cZhfx9o+Z+xpwnwDFBfm4usUaXLdpkIbBLlyu8bBIZNFY0+f94kukNnlite467OhvDyPQKCj2SdLr9SfTdxd5ZQKHFoAnlc2A3UH+IeB+h2DUa4TXHtiwqSkp+I4ikwzTc2RQvaZx/nw2gGQ/1KIj76qqSfQ2SxsPmjmRVLLeORAz+Wtnuc0s3H4graeNAFJTm8JW6WTQaPafh7rn/tB14PAcXR9meyT8Yrsx2WzpYz+8oj5IOB2aYn2sXPTfD+23uGnS6NwaKmCMxanEcNkcjEuAwrA7Kw+GjptrfchFQ8Cu/QLhYzPO6xTZITaFLrRP78foA4bxb5xbajo+ncvV6w/0qism8rQ8EL4bdJ/Wsk+oFrUqgBKGrrs9/TSJV1UR7zRmwJ1oqWZeMwUFomUcITkMiEkkxsbgSLE9ehHZubm/X/4yYDyKoCS+ZIE3BhepiQOQO2c5s7IFwKq9gioPcK8OItuKRMlsVxZC8k1vNvWnPdXG1VKoJs+B2rk0FtmuxHxixndI0YwnUkL1134HCghA6Ss+DwWViHhtSp0/ppziM+KE/5ThPl2z5+uRz1ocTuN1yM7k+QE+ebvC7MCqGEGVKQbfGVmqvcCvTdlX85bPcdxBjPRBoPRsoyBXw6Uf9FlMyNApeLCzMCF6biU1GfpUSUcetgoLnLo7kCtm8mKqnqqdFF+aCSeV7nphtnQmxkDFPbKR++65/SsFrqbwsH1x+HEoKv6B7B523rvokzOIWnrOXsMyEE34G6Eo0l9U6O46Q7sfwTrlqSXbMDkUX2lQPXvzDRp2wGLF5t6reE98ddWbwEzHWOyub4iY9MWPHM8rta12HtYnS8IKLmCPW0eS+pRQL2arde4haEi6F+JMkc2iZmTvAKovmoHgU0pG5u+Q78xDuwZE2I6/QT+Tq7B8Imv1Z6IzZRirmUO9OG1D8MVhOOofiypbwtUDJqfQJe8E8ro4kc5SAwoQ7WurwPd7t2CvhV6HosyIJRSEvUEm9cUUA/UXr26FZBx3axXkkXp7Xpe/ylGce1YYV5qFIOWlYAo9/iURzSfS6EKoJgwl0b/bdFBRCaGcRdiWdJAUmyrrVvD6Cigphdp9hc8W7UG8+bzhXntkTDPNzjxBVVesmXTQxVxtyLVm+I4/A8ICnE89TP3U7XSnQtzMr+mKzKjgtfD4nlXdTLu4wrzYI3rEoeAEk2Ca37E11CXEuhaPIbUA5XtFvInHatHHbI0NfJF91CgksnlDXuL+zqYqwek2aItZWYZ0zAruE7ndu2WatD6YaAICjCFpBdT0rVo21iTnEeeYRQ/0qOyy9k4fBFbr4uhu3pERkMQ4+J8bwc3QIGuFCgTI5NRD72f22rgHgcU/Gd+SIiptwXm6TyC1ELPM6BqhZ6/tlGMvkbayZZKwvNKGw4HJDdhYE6MdJD+oQcaAcyQmgwjdpSEbI2zb4cMqIZWMelh0Uh6hRMnyBhJoPTPxP8FjOKwJagws7O1cy3+796IFdCjGEf5t9S7IZ8d6kQ5iPMrA/8KPeQoT+gxbbN6HLsfcu3/zhao7fnvAaj9T691LUEfy2kWC7XHITdKu5bxI3XDbsu6BlsPFE7aT6KxOTRisJMt1/ddlQYxUSxqTOHj6qYUcp/PGTD22sJ18mpL6kcK80oJmS8aho6FIy88vzkQrCKT5INtWZ7j6K0guMEHSGvd8Jye07pKyHxg6b2B7gXIKUOdGo5zWWUycqw0+BetIkWgbdUevoSHc0uY851Gdb67KNuExHdFZZuQZOlhE1JD2q1IxYo87oEot++ISVMiK4m5j6PS1YyV7o0b8/AwJVwbnteeuSKJk9nt984KpI0MCExpq7WcnO0FXmRuqSFzSwVms4S6rCJyUksqdXkLhmJny6TOU1aKc/5LcQsHt9wwDGpWAErmwTp5eYQgj8KD191oSlmVsyRfCZTieIc/t8f1RAdxWHfrxG0J1jDnniftE/8ZRvEYowW9XILzkKisW9VOhKcU3EEXSoUPhrdZn31dUG0h4ii+W1uv7oKI+pjRvoWLQro3T8elpIhb7clZuDWU72CUM51zP6lvCBQoOosZ6Ht35G6mbAZTVkA1+rDySYVFI0WuG7ENMvnlGhEXrjvGta7dO+CT8Xe9qIRquNoDH498EFLA1TafSl4LqLPi5WcnAMUrWtwCIluuEpyPiIaR9IUiw+SFtnKJeJdCQW+19HaoPIAiDg2n1XI6bskdgF3i9NxHX4wwev/yWgk9tpS/O/T2JYio7fT8EVC57OcBw9kUyE1DLvsz0zCfPXYqUqEFbe7By9THZISKY3jxyHEgfbeCdTHwJ1sY/bpssY3qNLgd8UB0mUTUw2A90KM+RuRhpTj7nS49e3uFXiNz3ArSvJ0QMwCz+LOyn9RHlYM9z1/fy+hRjTkY79RrcMrF9PGYGTuqpc9YsAaf0PDn17We7ecXBKs15likvc1nVJ+xCHy2GYvtREvhDkof6/ymkK0dxoFKv835OvbLLS5klzP2egHNfGWgusmBIo9CBkA7cHttwXI64TiDUImSZcC2YfOiUp0tISx6m48QPv02HGV3iNFQgDsE53FImpxxm0LEtqBavaR5gNStnmdA1XYH6usAVf/yH0pnxB8zv+3jYCjcKuUIuE82MNaTm5vJ2tBxiUVQH2CxOgpb8SzgBBeAAk/X0+Gw27F1G/HspeRxkRXU0xCtNRXa6rLxjoFquj2qGlNiXaKsGe4so6Nn28lSixhQtuDIinFL6lbZF9Sw8zvoYL5rIHOGiicm6uYqpW8PVLX3oEFpW/BCMm03NWJedHcmdhBKSa8EhIfSFnT3xtt7CS7dcY/mdhk6I8IW8Ye2QHvh6wy9ytn/UEayrQ0mnwGEdot732QlLHexuAOKWUZKCyb8GYzSK5Zlo+oaS49KHS5D4GO2iA/6geVKLMNZJakPwryq54+AeuTxLjiLtyoiqzS3KuJORVsbABQ38oF55LKITYWMLbuaW4IVwDsSKq+ASfW2/AXkshxDGTB2VNshVaqubLnJS3peL9uE9BTN/IxbsvGMqsEiJ7x09xR6wycDytlnq2AU5iDhEXbTAe5xecxWIPStAbqlyhhKk1neBHhm2oJLr0b7SCUHjeLXzEimkS/fLCEYK0MT3R6Vwa0KWXR0uosTdVajHOSoE9Dd4Uf1/IqyVvF/1LdA4wS1N91HKnlTWw8Th6hC4Kcsuqv7R4U3CkPwQLfW+9sgGA6msFGyS2AALR3j8RVrc48/eCR8hZ8rQ4x00KQG8fsFinwNVKEdjBS2y8yc7oQjbqDCH+bfnm5bmM5GoBaoR5OI+wD4FQiH2WXr7ZTl4LIde4r6RvWGIxNXMqT2hzjSAVVuI/4UoE43iiOc+gM+OA75ngAJaZF0O5Zt02U3MUtdBHUzmS0Nu09vu2F0qEUN9xBpsU8AKPp3fT+pr8ZRxcr2JqSijPrWEtRglO/73d+tzKWuKNLjCLus5GNMyYLoNHm/E54JKYzBQ44ylso+Uk8AqtjzlzKKa43EUvUxpseCKWi8d3mBu6d3Bc7W59q+JaqSgjhpZAHCvB2kjfdrFDddA1eJm2DFyGT4x95Vk5cvPD4/GpMU48n0tLGP1Le19Rq4bT8w4w/fgZXMlU+qi+JuSsSHLStR/uGYJdTwNxelYy3LtlFZhucuJn3xFBcEgPFxP6lvC9QZCnMwYfzDGQ2kq6DFShDAdBbnI6zr8E8HfCne/NDKit5bhgeknmRCI/VZQuaeQDv+ezaKm2tMgcX9mtp+aa60HrRttR/kXpNO5jcwuEFt6gVls/V9H4vy5StmC7AAreFrGsVPSNNd1PTPGuOVKth86RsMPWWPMOdAgUnCQPinxz2bYm7j0c4WUOhgAmv4L606UIPkWXAUMgGLkwqNfaRusDk1TfcLFXm8plaXiKmoaGJ7tkeZ4kC11S53Mdl8P+dow0E2I5ADRTszrsUHbmV7UMJ88lihirp+2Y1W+4xi9hZOS9MdBxQDzG+Yjvyxu2dBnQNFLfIlYJnYDBEvTvMBKTijB6BgHM6Zi8r4tKfF+OI7ojWLle8UbOd0l7pDqzA/LU23gsvZgkrvTWFBlP26+QYowllKP0MMQi83lVsp1jdA+Rlr7YtlYAkpO+dmHWT5p5S86rrec4FKHZAOwWeeE2uvqrgBSuF+X4ctKkyMHCg+JWyAGjmHgWLK6cjF7f30r8V7XlKHSafjMUmCqSIVUNCPGHoKF+cAFMB7y5wv+L8x2QYq56iqwiL8ZDnz26l0yd/T+wQKyuekQ22mAymastyzi/hh6G04imiiwac4Id9Ks8tRle1h+L/C9jiy1N8t5YU5ast6e36a7saNIVjfyGhlAtW3344A6mHoZZMexdTdTLqfAhSJ2OZuTOT5Efd5zLZIPS3OvDRNd4YDQy3Xo2qFt5BhfeS6XmM8QIeuEl52q7tUDRRzTVqTW/ikrY9OA0qZj4gmGVd+o6UK3rpxiNTDCudWz0uBerJmXmuY2CEnUuaHjJhSYY7hFYKRzPATpqwfDxTLL6yQT4II9xgJ0Q6RmiucW0DtUTifANQ+jmqCItVmQoqn2DwNKNyxLdjhnZFPeydwFA/iJBiTLai99N1HBUcdqlorRrgC9nxlEGcpUGv803aTPm67m5wEVJTg3kac9XDgGtP3ANS+OHOABVesfDIyYTC4vdEJQBGRaQqBObfzae94oD7m++DZhADs+EpAHWkUbwN1Vnw6n0WBi1CWzol6HvGM2ycAxdRv6oyZTBeodApQIzQD3X/GKOeovlQOk7rVc7Lb84o03VULwYdWVzeZLrOlVmUFbEG/kXByz5ORV5QyoDhAA3+Mbi1V90+TUVC6l3MYefTPVMypKyOV75dqntbzEuCfd3ZVcwKyVAjyLWhSVWatMqCY5asOlHiAn+jmyUCJJrvQS+ovcHbV1lFsL78DtDG2cBtakmW0m/xRgVQZUKhSC6rtzvu5tXcsUO46lvmmomEfLzuKVFZ5u62yjTN3ifnrFSKCimBOirHgB4Ba84iElsfW0mHmOhqo6fmYOwnZfGCtmr8AULU6akN6ynQDnmj7SKAUtPLa6BtmQGG4+lFA4RKVjy9lKBI3UKnhpI1fAagz7K/1idxcMqAqNliVAMV9TgI/5AttY+U4oJRssbVzngJT0vWPRfMVht4LG8W4zLjC6FVnDGo5RhCI3dLlvRKgFixNJDUsyoMzYEY4buiNeL6tKFEiuMyOmhVLmi+RprskHLs6Njs/xaMYjl3f3CRHgUexczJ71dHF5EiguLtXX9wr/K/APA6o+EJFBxhLuA9t9adkJ3K8gtQTek5yhmEc+gTNfCdNN2Djz0EsA0vxUzoWzb1APfijprg1A9Qo4A0GC6itx3HUXZi5nSOMpOUuv4Okvn2abo1HckHvYmtNqjK5FoBi4wzUyxX7S4c7fMxAitPeMUDh+Fa0BsYgrywYub3oaFLJGxrFrOAKpOBE8YCybCP8SKoyoNqU3DMtU/XqSpvmWChOG3Pfrx6AyqyaXZepki31hZcz8tUR6Kcun2vfA1CHM5LNsX/ATnGdp9P+Y3c9Ll8AdTkfWSviBxkoAO1fDLO2suCu8tWcB3yWZeXo3jLdNp5EuMxsdUWJO4FfCahTZFT504uWZv2bY6iC7mbhrv5dbWf85UvqLdpGDHop4aAYN3jpjPsRavwzgTLh3hacEv/WbImJGTEOL8Qmvc8i32h6JKlHyyh+UmEu+1lFKqmIrFLceiuV70DmzTUXiSFQGygb+xoqhDtyahN7wAaec5NZellSlxu2bKVHi0LsgUCvzN0McA/r9tz3QM8OkSptk3pUz2X5dY47qXOesCckvhywoDJt/KiHkmPwYhn9wMBdtNMAqwMWSxzq+LfjRgMjLywj0G48NiMi6oCu9skQLHsw314NeP9pujEsRe19JasfTLamF0lx9GlEmXXzcpMyapPJFEqXRaxEXfhzMpmPN1dN+DEN20BJK34qRXg+JK6jWuyiVzgAt/aKSZWHOkb72jHf/aqNVtGeJfai5+qUM1CaVzyRnpIqOBXwtcBfK/u0pkyNP9ttY5YHym/7OuUH1lC4JM6jqbLZXtl8xz4EGVES6aqReDMnrS0wET3/lwMKi2sLbT0hxOyMGDZRelrk6t4iy4rPcyVGyKtDT2XpkN4sTffTz67SWEqL9sAkk3NUfxSlfe6/VH58LMk5O3hI+nAekxRU+WXvPz5P/P4qwrzoRi5L3HUwi1dlyjJpiPldVT2WUoUdeZOGZePnSQVtSLc1Rr4iwxkZ9VShP/frzOf9BFKPyF+WPfjRW6gVgX9Smm64sDY2Ao+2Qb8uCKCXwolkRxUy6O/xHHEQh8zVXZ6me5fUd5Kmm31Tn887qmBgZmlzKOGmX2W5ehGkxrMxS9YWj3H7zC1V2217+u6OZDrh6SPcbYaRJfSSSXLJusXDXA4EjO8rMguCSnhKBeUa072uDeEf2xv47w6oE86uGrOt1h5Y/zd81LETiEnJzo6jgeLaQ8Qtlylw68pW6ackOXsXp6GdeiDU5umzgNqCet3Nto/J6Ij8BGbsE0+vwjixxVTJj5zDRmY2xgi9AKmPe35ymu6iSKtVpvmqUibCv/8LTOXNgJFMumCdW7fZgUpP4CoNNwXNWJSBRlwczMqKxSlcn0Lq04R5iR51oOuHFhfOinuxag3RZd6PlUhuzjFUnx/+rZVvND9cFK3BPHOKf3kpkvptX6W20Uua+0l9gYi7Eg59SpruanW3kToYeN//7ituneRnDoV/8NzaJyCEt/ZZIJ/MFINwTkZtQwD5NHG5+vxcUt/m7KrN08V10McMvtcLFonOA+XH69FpUoplE5EoO8JB03y2LfJrC/17Rk7dr35OcV1JpnNLFagDUzoMmCbrK2qKd7cnKKDuTNT4rlG4ETeckaSHG46szv/Tgc5jHdWEYCaS4ZCw9DYoob4N7qFlNqYqJBbmGcN9QBrKcBaUhsmRSHhlkngWCEInCIzxzwGqRJg/K013uYS81zGJgWpjhncQ5Xx7j6zAY8WAZ6PbNxBN+wvRxCx47wuqCCJJbQODZqK0fpjUJxnFj9N0v+gWpMoiu33HWlOV6nd13HdvEVnjnnTl4w9gmP+6uZ6VuaYUnuBbizE1s3ue8tN6Fe7MxDUX5x8Ydl6ivdphVY8KKbyFk8+uKioTB5ST+mczZksrfcslys1XwEDK+QhMtvMlYIQLvlrsA1jSCP1M3QZmZcZVYD87WBz3X13jwYN9A9nT0P1apf3+bD3qtdN0F5rLns6/UQjG4lGB6t/GzDlJZ8wLgFJIM2FcxZcCYGJcwi2zczDhhhcpUeKwzi8C0sxZzLCNMNfbP+vktvsliyZ/WVLfwijeerpvB0FnSQVLn4xw/lvy0HAl37Ifod/tboiny4PU18RNFEwmv2aXqHuNu46ltrPV9e1NFu8NqBOM4uLTZRK77gg35KlGMB3hceHAZctGYdGBSSFlc/6AzJQnJCrpYkRCqCBMIMQNSp3kNd/pk4F6lqWZPZ0tFIiUCm1KVTuYseWn5TmwkeLmu9TZPmQ5Uwh4WeDTWucsitycOZiVrZN0hDtJez1S9wB1pEjbUiaqz67a05yrB71PGN5jObfzmCg46c/Pu3jut5kd2sUTKgMH4ZpEeo5WSwQSPA47MOjwvExaO/t8JKnPyKTxKE13CfBlatee3CzFyvZerNLm4jRi4RigK3itGVODRmuMUqDANVr8LcFTMG8xuKp/5cN3bbbGfu/OMDxNXS5texACuCXHbm+TWn2W9dGkFtquvXSa7moxUXz6rEWNv1gcYsubhWxUaWT4ESa16LyPEv0SJVB3yW9VxuHK8/BsaLCuR9MJovo6pL6tUVzy9Pubj7PxNYupEKzrQOiGizxOJcI1zHp+3rriL8Iu1T0LML3tW7TVFSU+Sf4sUn+yrffo6bJUq4s3jmUYLLScWl6gC6u70F2MfV5GY3MeTtdCEAArqaip2tO089fNWa3O8rP9S4Bi/NxIVt3RXZ+xFWZPtgwP8AocPQjYP882QD39R1BV40fLNq7G9Uaj/gakFoHa3oT09IxkZRtMas1i28WnN5t4AprnUdyWoVpZcHn2o82SkdDOn4ZKB/54eheV5Dupbabco0g9tBdmb5ruJiubPJxY6sXKZt9RVUXaaqGkUi9pe9OCFoeJX7M8ezC/hZnf/oZq1u0ScOr/0AX1euKvrqxUA6VJ2W77Z5NK8rfwk/SoHU9HrdHAIzsmKXEH1/ps5NjGYD6/slu3jbA1+BsulPIWtpo70vDFVj0AAAFuSURBVMfz6xnF1dyfNSfXx2Fab0RTPBDTvAnjRqNR42sRW+l5pJ9M6vsBCt66hutQNUSGt60QscHbZseolzX37wSq0FzZPFYvae43UO8cqBcS5qeuQRa9kIdjuYrNvb4wf2QUH5okX3jOPba56rbrz2473yl2EqkvmqabHMx9XZ714+y4wbQ7UH8KqW9rwhSbOwRUrQjU25owv4H6DdTPAOrJRnHp00uyfhzchFkio55DaplZUApUmVFc2IQkZ5Um23IFApcf2sQqIqvU5GKFn3UoFStyrbAjKW+bt9A81DZrgUi7befN1U5qTj7Q3EFSG9tt52/hZfSo043ip+pRR5L6TtN0/ws0899A/Qbq7YB64pL6/wdQT7IisPY493CxObLb3B6gDqVwOtHgqR0g9aBuUn52FS9bFbH6q6dUXri5n03qC6fpPmRpnvhSDxrFp63CHE1q2VApGcq/TZhdUn8D9Ruo30D9BupdA/U/BYxN4jSuinwAAAAASUVORK5CYII=';

var base64Data = imgBase64.replace(/^data:image\/png;base64,/, "");
    fs.writeFile(uploadPath+"/out.png", base64Data, 'base64', function(err) {
    console.log(err);
    });
fs.readFileSync(base64Data, {encoding: 'base64'});
发布评论

评论列表(0)

  1. 暂无评论