在使用相同文件名更新图像时,我需要在服务器端使用某种方法(云功能)为我提供一个“更改” URL。有可能吗?
背景:我使用最新的firebase扩展来创建缩略图。生成缩略图后,我将下载网址存储在Firestore上,以便在我的移动应用中访问
根据difference between getSignedUrl() and getDownloadUrl(),我使用getSignedUrl()。
但是,即使基础图像发生更改,此方法也为我提供了“相同”的url。而且由于网址相同,因此Widget(我使用flutter)不会重新生成,并且修改后的图像不会得到反映
exports.thumbnailHandler = functions.storage.object().onFinalize(async (object) => {
const contentType = object.contentType;
const filePath = object.name;
const fileBucket = object.bucket;
const fileRef = admin.storage().bucket(fileBucket).file(filePath);
const options = {
action: 'read',
expires: '12-31-2099'
};
fileRef.getSignedUrl(options).then(results => {
var downloadUrl = results[0];
console.log(downloadUrl); //This is same url everytime, even when image changes but with same file name
}
}
在与flutter sdk中的downloadUrl等效的东西上方,是否可以使用signedUrl?
更新这是答案:这给了我来自客户端https://stackoverflow.com/a/53744579/11749006的downloadUrl