- Node.js を使用する方法:
Firebase の公式ライブラリである
firebase-admin
パッケージを使用して、Node.js で画像をダウンロードすることができます。以下はそのコード例です。
const admin = require('firebase-admin');
const serviceAccount = require('./path/to/serviceAccountKey.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
storageBucket: 'your-storage-bucket'
});
const bucket = admin.storage().bucket();
async function downloadImagesFromFolder() {
const folderPath = 'your-folder-path';
const [files] = await bucket.getFiles({ prefix: folderPath });
for (const file of files) {
const destination = `./path/to/save/${file.name}`;
await file.download({ destination });
console.log(`Downloaded ${file.name}`);
}
}
downloadImagesFromFolder()
.then(() => {
console.log('All images downloaded successfully.');
})
.catch((error) => {
console.error('Error downloading images:', error);
});
上記のコードでは、serviceAccountKey.json
ファイルは Firebase コンソールから入手できるサービスアカウントキーです。your-storage-bucket
には Firebase Storage のバケット名を入力し、your-folder-path
にはダウンロードしたい画像が格納されているフォルダのパスを指定します。
- Firebase Cloud Functions を使用する方法: Firebase Cloud Functions を使用して、サーバーレス環境で画像をダウンロードすることもできます。以下はそのコード例です。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const bucket = admin.storage().bucket();
exports.downloadImagesFromFolder = functions.https.onRequest(async (req, res) => {
const folderPath = 'your-folder-path';
const [files] = await bucket.getFiles({ prefix: folderPath });
for (const file of files) {
const destination = `/tmp/${file.name}`;
await file.download({ destination });
console.log(`Downloaded ${file.name}`);
}
res.send('All images downloaded successfully.');
});
上記のコードでは、Firebase コンソールで Cloud Functions をセットアップしてデプロイする必要があります。your-folder-path
にはダウンロードしたい画像が格納されているフォルダのパスを指定します。Cloud Functions の URL にアクセスすると、画像がダウンロードされます。
これらは Firebase Storage 内の特定フォルダからすべての画像をダウンロードするためのいくつかの方法です。必要に応じて適切な方法を選択し、コードをカスタマイズしてください。