使用 Firebase Image Resize Extension 时避免重新生成令牌
Posted
技术标签:
【中文标题】使用 Firebase Image Resize Extension 时避免重新生成令牌【英文标题】:Avoid re-generating token when using Firebase Image Resize Extension 【发布时间】:2021-10-23 23:09:36 【问题描述】:我在删除原始图片的同时成功使用Firebase resize extension生成缩略图,但是一旦触发扩展,就会为新调整大小的图片重新更新原始静态令牌。为了阅读缩略图,我需要运行一个新的ref.getDownloadURL()
,我真的很想避免(额外的复杂性+额外的成本)。有没有办法告诉扩展(或底层函数)保留旧令牌(元数据)? s.o.上的大多数答案似乎指的是旧版本的扩展或解决了部分类似的问题,但不是这个。
【问题讨论】:
【参考方案1】:由于扩展程序写入了新文件,因此没有内置方法来保留旧令牌。不重用现有令牌是一个明确的决定,因此您可能需要阅读 here。
您可以做的是自己在metadata/metadata/firebaseStorageDownloadTokens
属性中设置旧令牌,如here 所示。扩展几乎与here 相同,但它总是生成一个新令牌。如果您想保留旧令牌,则必须在代码中执行此操作,或者自己修改扩展。
【讨论】:
【参考方案2】:我最终将 Image Resize Extension 函数的代码更改为 suggested by Frank van Puffelen:
-
照常启用图像调整大小扩展
转到您的云功能选项卡,单击
ext-storage-resize-images-generateResizedImage
,然后从右侧的三个点中选择Detailed Usage Stats
这会将您带到Google Cloud console
从这里浏览到 lib/resize-image.js 文件并删除第 110..112 行或为整行 111 添加注释
保存并重新部署云函数
享受使用旧 UUID 调整大小的图像?
【讨论】:
以上是关于使用 Firebase Image Resize Extension 时避免重新生成令牌的主要内容,如果未能解决你的问题,请参考以下文章
vue-image-upload-resize 重置图片文件
Perl Image Resize 使用 GD 并保持图像质量
numpy.resize(image,(IMG_HEIGHT,IMG_WIDTH,3)) 中的 3 是啥?
torchvision中的resize对PIL.Image对象的处理速度要优于opencv近7千倍