node.js - 如何使用 Node js将base64数据作为图像上传到s3?

标签 node.js amazon-s3 base64

我正在将 Canvas 的 base64 数据发送到 node.js 脚本。我需要将 base64 数据作为图像存储到 s3bucket。有什么办法可以实现吗?

最佳答案

  1. 将您的数据 URI 存储在变量中。
  2. 创建将数据 URI(64 位编码字符串)解码为字符串的函数(此处我创建了 dataURItoBlob() 函数)并在解码后返回字符串。

  3. 将该字符串传递给 S3 上传函数的主体。

     var myDataUri = "data:image/jpg;base64,JVBERi0xLjMKMyAwIG9iago8PC9UeXBlIC9QYW..."
    
     var myFile=dataURItoBlob(myDataUri);
    
     function dataURItoBlob(dataURI) {
         var binary = atob(dataURI.split(',')[1]);
         var array = [];
       for (var i = 0; i < binary.length; i++) {
          array.push(binary.charCodeAt(i));
       }
      return new Blob([new Uint8Array(array)], {
         type: 'image/jpg'
     });
     }
     if (myFile)) {
       results.innerHTML = '';
       var params = {
         Key: fileName+'.jpg',
         ContentType: 'image/jpg',
         Body: myFile
       };
    
     bucket.upload(params, function(err, data) {
          results.innerHTML = err ? 'ERROR!' : 'UPLOADED.: ' + file;
        });
      } else {
     results.innerHTML = 'Nothing to upload.';
    }
    

关于node.js - 如何使用 Node js将base64数据作为图像上传到s3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23561473/

相关文章:

python-3.x - 如何将 s3 图像响应读取为对象

python - 如何将 django-storages 用于媒体文件和静态文件?

c - 解码后的shellcode不执行: Illegal instruction: 4

ruby - 如何避免在解码文件时出现 UndefinedConversionError?

angularjs - 以 Angular 加载 img src 中的图像时出现问题?

javascript - Nest.js中如何返回202 Accepted然后继续处理请求

javascript - 为什么在 Visual Studio 2017 中使用 Node.js 交互窗口时会出现 "SyntaxError: Unexpected identifier"错误?

javascript - Node 中数组解构的奇怪行为

Javascript从亚马逊s3存储桶下载文件?

java - Java 中的 Base64 解码方式不同 (JJWT)