multiple images upload in s3 bucket using nodejs in aws lambda?

杀马特。学长 韩版系。学妹 提交于 2020-01-11 13:50:27

问题


I am using AWS lambda function and nodejs. I tried to insert multiple images in s3 bucket. find the below for your reference.

var AWS = require('aws-sdk');
var fileType = require('file-type');
var bucket = 'testing';
var s3 = new AWS.S3();


exports.handler = (event, context, callback) => {
    var Userid = event['userid'];
    var media = event['media'];

    media.forEach(function(eachrecord){
        var fileBuffer = Buffer.from(eachrecord, 'base64');
        var fileTypeInfo = fileType(fileBuffer);
        var randomstring = require("randomstring");
        var fileName = Userid+'/'+'media/'+`${randomstring.generate()}.${fileTypeInfo.ext}`;
        var ext = fileTypeInfo.ext;

        var params = {
            Body: fileBuffer,
            Key: fileName,
            Bucket: bucket,
            ContentEncoding: 'base64',
            ContentType: fileTypeInfo.mime
        };
        s3.upload(params, function(err, data){
        if(err)
            {
             callback(err, null);
            }
        else
            {
            let response= {body: JSON.stringify(data.Location)};
            let mediaurl =response.body;
            console.log(mediaurl);
            }
        });
    });
context.succeed('done');    
};    

In media, I have send multiple base64 encode array value in event. but how to implement forloop concept and media insert array value into s3 bucket?

来源:https://stackoverflow.com/questions/59440712/multiple-images-upload-in-s3-bucket-using-nodejs-in-aws-lambda

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!