AWSLambda如何一次性上传多张图片对象?
创始人
2024-09-26 07:30:37
0

可以使用AWS SDK for Node.js的s3.putObjects方法一次性上传多个对象。以下是一个简单的示例:

const AWS = require('aws-sdk');
const s3 = new AWS.S3();

exports.handler = (event, context, callback) => {
  const bucketName = 'my-bucket';
  const fileNames = ['image1.jpg', 'image2.jpg', 'image3.jpg'];
  const files = []; // files to be uploaded
  const params = { Bucket: bucketName };

  // read all files to be uploaded
  fileNames.forEach((fileName) => {
    const file = {
      path: `/path/to/images/${fileName}`,
      name: fileName,
      type: 'image/jpeg',
    };
    files.push(file);
  });

  // set params for putObjects method
  params['Body'] = files.map((file) => {
    return { Key: file.name, Body: fs.readFileSync(file.path), ContentType: file.type };
  });
  params['ContentType'] = 'application/json';

  // upload files to S3
  s3.putObjects(params, (err, data) => {
    if (err) {
      console.error(err);
      callback('Error', err);
    } else {
      console.log(data);
      callback(null, 'Success');
    }
  });
};

在上述代码中,我们首先定义了要上传到S3的文件名,然后使用fs模块和map方法读取所有文件的二进制数据,并将其映射为key-value对象,其中key是文件名,value是文件的二进制数据。然后将映射后的对象传递给putObjects方法的Body参数中进行上传。最后,回调函数通过参数callback返回成功或失败的消息。

相关内容

热门资讯

第一分钟科普!决战卡五星辅助器... 第一分钟科普!决战卡五星辅助器下载(辅助挂)一贯真的有挂(新2026教程开挂辅助平台)决战卡五星辅助...
第3分钟辅助!中至辅助插件最简... 第3分钟辅助!中至辅助插件最简单三哥步骤(辅助挂)一直是有挂的(必胜教程开挂辅助工具) 了解更多开挂...
第五分钟了解!新九天互游辅助(... 第五分钟了解!新九天互游辅助(辅助挂)一直是有挂的(第三方教程开挂辅助工具) 【无需打开直接搜索加薇...
第九分钟辅助!福建兄弟13水插... 【亲,福建兄弟13水插件 这款游戏可以开挂的,确实是有挂的,很多玩家在这款福建兄弟13水插件中打牌都...
八分钟辅助!小程序微乐辅助器2... 八分钟辅助!小程序微乐辅助器2.0(辅助挂)一直确实有挂(解密教程开挂辅助工具) 【无需打开直接搜索...
九分钟辅助!爱玩修改器(辅助挂... 大家好,今天小编来为大家解答爱玩修改器这个问题咨询软件客服可以免费测试直接加微信(136704302...
第9分钟科普!老友记辅助器(辅... 第9分钟科普!老友记辅助器(辅助挂)果然是有挂(可靠教程开挂辅助下载)1、下载安装好老友记辅助器,进...
第2分钟了解!悠闲游戏辅助(辅... >>您好:悠闲游戏辅助确实是有挂的,很多玩家在这款悠闲游戏辅助游戏中打牌都会发现很多用户的牌特别好,...
9分钟科普!朋友圈辅助软件(辅... 9分钟科普!朋友圈辅助软件(辅助挂)一直真的有挂(必备教程开挂辅助脚本);亲,朋友圈辅助软件这款游戏...
8分钟详情!湖北逍遥卡五星辅助... 8分钟详情!湖北逍遥卡五星辅助(辅助挂)一贯有挂(2026新版开挂辅助神器)您好:湖北逍遥卡五星辅助...