我有一个要求,我的应用程序将允许用户上传图像。在firebase存储中是否有一个功能,我可以防止重复,并在用户/其他用户尝试加载相同的图像时使用旧的图像URL。
答案 0 :(得分:-1)
是。散列图像并使用该名称存储文件。编写一条不允许覆盖文件的规则。
// Upload the file on the client to a file named after a hash of the data
var string = 'Hello, world!'
firebase.storage().ref().child('images/' + hash(string)).putString(string);
var hash = function(string) { /* SHA1, MD5, etc. (note: collisions exist for certain algorithms ) */ }
// Rules
service firebase.storage {
match /b/{bucket}/o {
match /images/{imageHash} {
// only allow create and delete, not overwrite
allow write: if resource == null || request.resource == null
}
}
}