簡體   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