作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将用户配置文件的图像上传到 Firebase,路径如 profiles/${userId}/image.jpg
。
每次上传后,我都会触发一个云函数,该函数使用 GCS 获取已签名的 url,如本例所示:
const SIGNED_BUCKET_URL_CONFIG = {
action: 'read',
expires: '03-01-2501'
};
const bucket = gcs.bucket(BUCKET_NAME);
const profileImageRef = bucket.file(`profiles/${userId}/image.jpg`);
const url = profileImageRef.getSignedUrl(SIGNED_BUCKET_URL_CONFIG),
现在我的问题是每次上传/覆盖图像后返回的签名 URL 始终相同,并且移动应用程序不知道必须刷新此图像的缓存。
是否可以生成带有版本参数的签名 url,例如'....?v=123' ?
最佳答案
实现此目的的一种简单方法是为您的 SIGNED_BUCKET_URL_CONFIG
动态提供如下内容:
const exp = Date.now() + 30 * 365 * 24 * 60 * 60 * 1000; // 30 years from now
const SIGNED_BUCKET_URL_CONFIG = {
action: 'read',
expires: exp
};
但是如果在同一毫秒进行多次上传,上述技术可能会失败。因此,只有在您的项目可以接受的情况下才选择此方法。
关于javascript - 上传到同一路径时如何强制 firebase 存储返回新的签名 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48334402/
我是一名优秀的程序员,十分优秀!