我正在使用Firebase resize扩展成功地生成缩略图,同时删除原始图片,但是一旦扩展被触发,原始静态令牌将为新的调整大小的图片重新更新。为了阅读缩略图,我需要运行一个新的ref.getDownloadURL()
,我真的想避免(额外的复杂性+额外的成本)。是否有一种方法告诉扩展(或下面的函数)保留旧的令牌(元数据)?s.o.上的大多数答案似乎是指旧版本的扩展或解决部分类似的问题,但不是这个。
由于新文件是由扩展名编写的,因此没有内置的方法来保留旧的令牌。这是一个明确的决定,不重用现有的令牌,所以你可能想在这里阅读。
您可以做的是在metadata/metadata/firebaseStorageDownloadTokens
属性中自己设置旧令牌,如下所示。扩展在这里几乎做了相同的事情,但它总是生成一个新的令牌。如果你想保留旧的令牌,你必须在代码中这样做,或者自己修改扩展名。
我最终按照Frank van Puffelen的建议更改了图像调整大小扩展函数的代码:
- 启用图像大小扩展像往常一样
- 转到云功能选项卡,单击
ext-storage-resize-images-generateResizedImage
并从右侧的3个点中选择Detailed Usage Stats
- 这将带您到Google Cloud控制台
- 从这里浏览到lib/resize-image.js文件并删除第110行。112或为整行111 添加注释
- 保存并重新部署云功能
- 使用旧UUID享受调整大小的图像😊