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

使用Firebase Image Resize Extension时如何避免重新生成token

解决方案

方案1:直接配置扩展现有参数(无需修改代码)

你在安装/重新配置storage-resize-images扩展时,找到将元数据从原始文件复制到调整大小的文件的选项,勾选开启即可。最新版(v0.2.0及以上)的扩展中这个选项默认是关闭的,开启后除自定义元数据外,Firebase存储默认的firebaseStorageDownloadTokens字段也会被原样复制到新生成的缩略图中,无需再重新获取下载URL。

  • 如果你已经安装过扩展,可以直接在Firebase控制台的「扩展」页面找到对应扩展,点击「重新配置」就能找到这个选项,修改后保存即可生效,不需要重新部署。

方案2:自定义扩展底层云函数逻辑(适合需要额外定制的场景)

如果勾选参数后仍不生效,或者你使用的是fork的修改版扩展,可以直接修改对应云函数的代码,在生成调整后图片的步骤中手动指定元数据的token:
首先在获取原始文件元数据的环节,提取原有token:

const originalMetadata = await originalFile.getMetadata();
const originalToken = originalMetadata.metadata?.firebaseStorageDownloadTokens || originalMetadata.firebaseStorageDownloadTokens;

然后在上传调整后图片时,把token写入新文件的元数据中:

await resizedFile.save(resizedImageBuffer, {
  metadata: {
    ...originalMetadata,
    firebaseStorageDownloadTokens: originalToken
  }
});

注意如果你同时开启了删除原始文件的选项,要确保复制元数据的逻辑执行在原始文件删除之前,避免拿不到原始token。

补充说明:如果你的缩略图和原始文件存储路径不同,复制token后两个文件会共享同一个下载URL前缀,只要文件名正确就能直接用原token拼接访问,不需要重新调用ref.getDownloadURL()接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:12:02