繁体   English   中英

如何在Node.js中解码Base64字符串并将其作为图像上传到Amazon S3?

[英]How to decode Base64 string and upload as image on to amazon s3 in nodejs?

我试图这样,它每次都产生一个具有相同名称的图像,我想要动态名称,并且必须将其上传到Amazon s3。 请帮忙

let base64String = req.body.imgBase64;
      let base64Image = base64String.split(';base64,').pop();
      fs.writeFile('image.jpg', base64Image, { encoding: 'base64' }, function(
        err
      ) {
        console.log('File created');
        res.json('fire created');
      });

该代码段将始终将图像命名为“ image.jpg”,因为您将其作为常量传递给fs.writeFile()第一个参数。 要动态命名文件,您需要在循环中包含一个变量,该变量在每次迭代时都会更改。 例如,您可以使用整数:

var i;
var count = 0;
for (i = 0; i < numfiles; i++) {
  let base64String = req.body.imgBase64;
  let base64Image = base64String.split(';base64,').pop();
  var countString = String(count)
  fs.writeFile('image' + countString + '.jpg', base64Image, { encoding: 'base64' }, function(
        err
      ) {
        console.log('File ' + countString + ' created');
        res.json('File ' + countString + ' created');
      });
  count++;
}

至于上传到S3,有许多在线资源可以指导您使用node.js上传到S3。

我建议您在图像中添加时间戳记/日期戳以使其变得简单。 至于亚马逊问题,我建议作为一个单独的问题进行询问,因为那是完全不同的。

let base64String = req.body.imgBase64;
      let base64Image = base64String.split(';base64,').pop();
      fs.writeFile(`image${Date.now()}.jpg`, base64Image, { encoding: 'base64' }, function(
        err
      ) {
        console.log('File created');
        res.json('fire created');
      });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM