Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用node js将base64数据作为映像上载到s3?_Node.js_Amazon S3_Base64 - Fatal编程技术网

Node.js 如何使用node js将base64数据作为映像上载到s3?

Node.js 如何使用node js将base64数据作为映像上载到s3?,node.js,amazon-s3,base64,Node.js,Amazon S3,Base64,我正在将画布的base64data发送到node.js脚本。我需要将Base64数据作为图像存储到s3bucket。有什么方法可以实现吗?您可以使用AWS putObject方法发送base64数据,如下所示 var AWS = require('aws-sdk'); AWS.config.loadFromPath('./s3_config.json'); var s3Bucket = new AWS.S3( { params: {Bucket: 'myBucket'} } ); var im

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

您可以使用AWS putObject方法发送base64数据,如下所示

var AWS = require('aws-sdk');
AWS.config.loadFromPath('./s3_config.json');
var s3Bucket = new AWS.S3( { params: {Bucket: 'myBucket'} } );

var imageBase64Data='Your base64 code '

s3Bucket.putObject(imageBase64Data, function(err, data){
  if (err) { 
    console.log(err);
    console.log('Error uploading data: ', data); 
  } else {
    console.log('succesfully uploaded the image!');
  }
});
  • 将数据URI存储在变量中
  • Create函数将数据URI(64位编码字符串)解码为字符串(这里我创建了dataURItoBlob()函数),解码后返回字符串

  • 将该字符串传递到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.';
    }
    
    var myDataUri=“data:image/jpg;base64,jvberi0xljmkmyyawig9iago8pc9uexblic9qyw…”
    var myFile=dataURItoBlob(myDataUri);
    函数dataURItoBlob(dataURI){
    var binary=atob(dataURI.split(',)[1]);
    var数组=[];
    对于(var i=0;i

  • 也许这就是你要找的。[上传-base64-encoded-image-to-s3][1][1]:@lusha li,检查新的blob检查链接