こんにちは!
今回は「JavascriptでAmazon S3からオブジェクト(ディレクトリ)内のファイルパス一覧を取得する方法」についてお伝えしたいと思います。
バックエンド(Expressを例にしています)で取得する方法で、AWSの設定などは触れていませんのでご了承ください。
Amazon S3からオブジェクト(ディレクトリ)内のファイルパス一覧を取得する方法
以下はExpressでバックエンドからファイルパス一覧を取得する例です。
必要に応じて、置き換えて活用いただければと思います。
const s3 = new AWS.S3();
exports.getImagePathList = async (data) => {
const prefix = 'images/'; // 取得したいオブジェクト名を指定
const params = {
Bucket: process.env.AWS_BUCKET_NAME, // AWS_BUCKET_NAME='test-bucket'
Prefix: prefix, // 省略可能
Delimiter: '/', // 省略可能
};
return s3.listObjects(params).promise().then((res) => {
const resultArr = [];
for (const data of res.Contents) {
resultArr.push(data.Key);
console.log(data.Key); // images/example1.png images/example2.png images/example3.png ・・・
}
// (必要に応じてソート処理などを記述)
return resultArr;
});
};
ファイル名のみを取得したい場合はString.split().
関数などを使って、String.split('/')[1]
と記述すれば取得可能です。
以上、お疲れさまでした〜🍵