我想限制用户可以上传到firebase存储路径的文件数量。以下是我的firebase存储规则:
service firebase.storage {
match /b/jobsdbn.appspot.com/o {
match /images/Business/{userId}/{imageId} {
allow read
allow write: if request.auth.uid == userId && (request.resource == null || ( (list(/images/Business/$(username)).size() <= 5) && imageId.size() < 50 && request.resource.size < 10 * 1024 * 1024 && request.resource.contentType.matches('image/.*')))
}
}
}
我添加了一个列表(/images/Business/$(username)).size()
但我总是得到403,不确定“用户名”是否是全局变量,但我已经使用了不同的变量,仍然不能使它工作。
如果有人需要答案,我通过使用firebase cloud函数找到了解决方案:
exports.getNumOfFile = functions.storage.object().onChange(event => {
const object = event.data; // The Storage object.
const fileBucket = object.bucket; // The Storage bucket that contains the file.
const bucket = gcs.bucket(fileBucket);
bucket.getFiles({
prefix: "[path]", //Path like what you use to get reference of your files in storage
}, (error, files) => {
console.log(files.length);
});
});
您可以在此处找到更多选项:
https://Google cloud platform . github . io/Google-cloud-node/#/docs/storage/1 . 1 . 0/storage/bucket?方法=获取文件
我正在使用AngularFire2成功将图像上传到Firebase Storage。 我有以下上传代码。 我想解决几个问题。 如何设置文件大小限制?这意味着我希望用户能够上传小于10mb的文件。 如何限制文件编号?这意味着我希望一个用户只能上传3个文件。 如果没有firebase服务器规模的解决方案,请推荐一些客户端规模的解决方案。 谢谢
什么是 Firebase 存储上传文件大小限制?我在网站上找不到该信息。
我对firebase存储是新手,想知道什么是最好的做法。我想上传图像到firebase云存储,并返回了一个下载url,然后我存储到FireStore。下载网址是永久的吗?其他用户将从firestore读取以获得下载图像的url。 但是当我想从CloudStorage中删除图像时,我只有下载url,而没有文件路径。所以我要删除它吗? 如果我存储的是文件路径,如何获得下载url?
在使用Spring和REST API时,我遇到了一个有趣的问题,这个问题是:在Spring中,路径是否仅限于一定数量的字符? 谢谢你
我了解到,每次部署firebase云功能时,firebase都会自动将一些数据保存在firebase存储中。我很想知道哪些数据被保存,如果删除是安全的,或者任何关于删除什么的建议。 我有一个小项目,200MB的云存储用于用户数据和10个云功能来完成各种任务。10月初,我做了很少的firebase部署操作,现在我看到了900MB的us.artifacts数据。请参阅下面的firebase和googl
如何添加规则来限制用户可以使用的最大存储空间大小?当前的限制了用户可以上传的文件的大小,但没有限制用户正在上传的文件夹/存储桶的大小。我希望对用户可以上传的所有内容设置一个限制,例如50 MB。 更新: 为了重新定义这个问题,假设用户已经上传了5张大小为10MB的图像,总共是50MB。现在我想限制用户上传更多文件,因为已经达到了最大存储桶大小(在我的例子中为50MB)。可能有两个文件,每个20 M