node.js - 如何使用nodejs将单个文件上传到aws s3上的多个路径?
问题描述
如何使用 nodeJS 将单个文件上传到 aws-s3 上的多个路径?问题:我有 1 个图像文件:images.jpg。现在,我想用不同的路径将此文件上传到 aws-s3。
解决方案
将文件上传到 s3 中的不同目录,提供您的 accesskeyid 和 secretaccesskey,
const fs = require('fs'),
AWS = require('aws-sdk'),
{promisify} = require('util')
const uploadFile =async (file_path, folder) => {
try {
var s3 = new AWS.S3({
accessKeyId: '',
secretAccessKey: ''
});
//reading the file and converting it into buffer
const readFile = promisify(fs.readFile).bind(fs);
const data =await readFile(file_path)
if (!data) throw "reading file failed";
const params = {
Bucket: 'testbucketnayan', // bucket name
Key: `${folder}/file.js`,
Body: data.toString()
};
const upload = promisify(s3.upload).bind(s3);
const up_data = await upload(params)
if (!up_data) throw "Upload failed"
console.log(up_data)
} catch(err) {
console.log(err);
}
}
上传位置具有目录名称。文件将上传到哪里。循环遍历数组并上传文件,你可以使用 Promise.all,它会提高性能。
const upload_location = ['abc', 'def'];
(async () => {
for (var folder of upload_location)
await uploadFile('resposetwi.js', folder);
})()
请用您尝试过的代码提出您的问题,这样更容易理解问题出在哪里。
推荐阅读
- python-3.x - 如何使用openCV和python计算视频中的对象?
- jackson - 使用 Jackson MixIn 添加属性?
- php - 每当添加新文件或更新现有文件时将文件上传到服务器
- python - 不带括号调用装饰器(不更改装饰器定义)
- mysql - Kubernetes MySQL pod 不断崩溃并显示 Unable to lock ./ibdata1 错误:11
- amazon-web-services - 如何将一个服务器 doc 文件移动到另一个 s3 存储桶?
- python - Netmiko send_config_set - 解析响应 - 检测错误?
- python - Tensorboard:如何查看模型摘要?
- php - 如何设置某个值但不通过它?
- algorithm - QBasic 中狐狸追逐模拟的最佳方法