You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Firebase Storage指定文件夹中图片的URL | Android | Java

获取Firebase Storage指定文件夹下所有图片的访问URL方法

方法一:Firebase控制台手动获取(适合少量文件)

  • 打开Firebase控制台进入Storage模块
  • 定位到Driver1文件夹,逐个点击目标图片文件
  • 在右侧文件详情面板中,复制下载URL(若文件未设置公开访问,需先调整权限或生成临时签名URL)

方法二:使用Firebase Admin SDK(批量获取,后端场景)

以Node.js为例:

  1. 初始化Admin SDK:
const admin = require('firebase-admin');
const serviceAccount = require('./path-to-service-account-key.json');

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  storageBucket: 'your-bucket-name.appspot.com'
});

const bucket = admin.storage().bucket();
  1. 列出Driver1文件夹文件并批量获取URL:
async function getDriver1ImagesUrls() {
  const [files] = await bucket.getFiles({ prefix: 'Driver1/' });
  
  const urls = [];
  for (const file of files) {
    // 跳过虚拟文件夹本身
    if (file.name === 'Driver1/') continue;
    // 生成近似永久的签名URL(私有文件必须用此方式)
    const [url] = await file.getSignedUrl({
      action: 'read',
      expires: '03-09-2491'
    });
    urls.push(url);
  }
  console.log(urls);
  return urls;
}

getDriver1ImagesUrls();

若需让文件可公开访问,可修改Storage规则:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /Driver1/{allPaths=**} {
      allow read: if true;
      allow write: if request.auth != null;
    }
  }
}

方法三:使用Web客户端SDK(前端场景)

以JavaScript为例:

  1. 初始化Web SDK:
import { initializeApp } from "firebase/app";
import { getStorage, ref, listAll, getDownloadURL } from "firebase/storage";

const firebaseConfig = {
  // 你的Firebase项目配置
};

const app = initializeApp(firebaseConfig);
const storage = getStorage(app);
  1. 批量获取Driver1下的图片URL:
async function fetchDriver1Images() {
  const driver1Ref = ref(storage, 'Driver1/');
  const res = await listAll(driver1Ref);
  
  const urlPromises = res.items.map(item => getDownloadURL(item));
  const urls = await Promise.all(urlPromises);
  
  console.log(urls);
  return urls;
}

fetchDriver1Images();

前端场景需确保Storage规则允许当前用户读取Driver1路径下的文件,可参考方法二中的规则配置或结合Firebase Auth做权限控制。

内容的提问来源于stack exchange,提问作者JAWAD KHAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:25:18