如果你是一名前端工程师,那么你一定会用到 Amazon S3 这个对象存储服务。然而,当你需要上传多个文件到 S3 时,如果一个一个手动上传,那将是非常耗时的一件事情。为了解决这个问题,我们可以使用 @you54f/s3-batch-upload 这个 npm 包来批量上传文件到 S3。
安装
使用 npm 安装 @you54f/s3-batch-upload:
npm install @you54f/s3-batch-upload
使用方法
1. 引入并实例化 s3-batch-upload
在你的项目中引入 @you54f/s3-batch-upload 包:
const S3BatchUpload = require("@you54f/s3-batch-upload");
实例化一个对象,并传入 AWS 的授权信息(accessKeyId, secretAccessKey)和 S3 存储桶 bucket 的名称:
const upload = new S3BatchUpload({ accessKeyId: "ACCESS_KEY_ID", secretAccessKey: "SECRET_ACCESS_KEY", bucket: "BUCKET_NAME", });
2. 添加需要上传的文件
将需要上传的所有文件放到一个数组里:
const filesToUpload = [ { localFile: "./1.jpg", s3Key: "images/1.jpg" }, { localFile: "./2.jpg", s3Key: "images/2.jpg" }, { localFile: "./3.jpg", s3Key: "images/3.jpg" }, ];
每个文件需要指定本地文件路径 localFile
和在 S3 中的路径 s3Key
。
3. 执行上传操作
执行上传操作,上传成功后会返回上传成功的消息。
upload.uploadBatch(filesToUpload).then((data) => { console.log(data); });
示例代码
-- -------------------- ---- ------- ----- ------------- - ----------------------------------- ----- ------ - --- --------------- ------------ ---------------- ---------------- -------------------- ------- -------------- --- ----- ------------- - - - ---------- ---------- ------ -------------- -- - ---------- ---------- ------ -------------- -- - ---------- ---------- ------ -------------- -- -- --------------------------------------------- -- - ------------------ ---
指导意义
使用 @you54f/s3-batch-upload 包可以大大提高上传文件到 Amazon S3 的效率,在一些需要上传大量文件的场合中可以帮助我们更加高效地完成任务。
同时,S3BatchUpload 还支持上传到 S3 中的指定路径,方便我们对上传文件进行分类管理。
总之,掌握 s3-batch-upload 的使用方法是前端工程师的必备技能之一。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067355890c4f7277583b7b