我正在使用profiles/${userId}/image.jpg
等路径将用户个人资料的图片上传到Firebase。
每次上传后,我会触发一个云函数,该函数可以获得带有GCS的签名网址,如下例所示:
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),

现在我的问题是,每次上传/覆盖图片后,返回的签名网址始终相同,并且移动应用程序不知道必须刷新此图片的缓存。
是否可以生成带有版本参数的签名网址,例如' .... V = 123&#39?; ?
答案 0 :(得分:0)
您可以使用generation生成带有版本的签名网址。
答案 1 :(得分:0)
实现此目标的一种简单方法是为您的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
};
但是,如果在完全相同的毫秒内进行多次上传,则上述技术可能会失败。因此,只有在您的项目可以接受的情况下,才选择此方法。