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

Firebase Storage文件下载出现404 Bad Request问题求助

解决Firebase Storage文件下载404错误的方案

问题核心

直接用<a>标签调用Firebase返回的下载URL触发下载时,会出现404错误,但相同URL能在img标签正常加载——说明文件权限、URL本身有效,问题出在浏览器触发下载的请求逻辑与图片加载逻辑的差异上。

可行解决方案:通过Fetch获取Blob后再下载

修改downloadFile函数,先通过fetch拉取文件Blob,再基于Blob创建下载链接,绕开直接使用Firebase URL的兼容性问题:

const downloadFile = async (url, filename) => {
  try {
    // 获取文件Blob资源
    const response = await fetch(url);
    if (!response.ok) throw new Error(`请求失败:${response.status}`);
    const blob = await response.blob();
    
    // 创建临时Blob URL
    const blobUrl = URL.createObjectURL(blob);
    
    // 生成下载链接并触发下载
    const link = document.createElement('a');
    link.href = blobUrl;
    link.download = filename;
    link.click();
    
    // 清理临时资源
    URL.revokeObjectURL(blobUrl);
    link.remove();
  } catch (error) {
    console.error('下载失败:', error);
  }
};

额外验证点

  • 确认Firebase Storage规则允许文件下载(已能通过img加载,此步骤基本无需调整)
  • 检查代码中thumnails的拼写是否与存储桶内实际路径完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 18:25:26