gpt4 book ai didi

node.js - Node js 中的 AWS SDK - 从子目录获取对象

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:39 27 4
gpt4 key购买 nike

我正在使用 Nodejs 的 aws-sdk,并且尝试获取位于子目录中的对象。但我没有拿回任何文件。

文件路径为:mybucket/subfoldername/file.txt

getObject = function getListObjects(bucketName, bucketPath, fileName) {
return new Promise((resolve, reject) => {
let params = {Key: fileName, Bucket: bucketName+bucketPath};
s3.getObject(params, function (error, data) {
if (error){
console.log(`Can't connect to S3. S3 Path = [${fileName}] to Bucket = [${params.Bucket}]`, error);
return reject(error);
} else {
console.log(`Found files in S3. S3 Path =[${fileName}] to Bucket = [${params.Bucket}]`);
return resolve(data.Contents);
}
});
});

};

我传递的参数是:

bucketName: "mybucket"
bucketPath: "/subfoldername"
fileName: "file.txt"

请指教。

最佳答案

Key参数也应包含“path”字符串,因为 S3 存储桶文件是通过其完整路径引用的:

let params = { Key: `${bucketPath}/${fileName}`, Bucket: bucketName };

我冒昧地使用了模板引号 (``)。另外,请注意我如何添加“/”分隔符,请检查它是否尚未包含在 bucketPath 中。

关于node.js - Node js 中的 AWS SDK - 从子目录获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49492703/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com