我想限制上传到Firebase存储的pdf文件大小。我希望该用户可以上传最大为7MB的文件

时间:2019-05-29 16:44:49

标签: java android firebase-storage

我想限制Firebase的存储。也就是说,用户可以上传最大大小为7MB的pdf文件。以及如何减小pdf文件的大小? android中有什么办法。

我不知道我的问题的解决方案。我发现了很多,但没有得到答案。 有人可以帮助我了解Firebase安全规则吗?我不熟悉,找不到任何答案。

2 个答案:

答案 0 :(得分:0)

Firebase documentation on security rules的示例展示了如何设置可以存储的最大文件大小:

service firebase.storage {
 match /b/{bucket}/o {
   match /images {
     // Cascade read to any image type at any path
     match /{allImages=**} {
       allow read;
     }

     // Allow write files to the path "images/*", subject to the constraints:
     // 1) File is less than 5MB
     // 2) Content type is an image
     // 3) Uploaded content type matches existing content type
     // 4) File name (stored in imageId wildcard variable) is less than 32 characters
     match /{imageId} {
       allow write: if request.resource.size < 5 * 1024 * 1024
                    && request.resource.contentType.matches('image/.*')
                    && request.resource.contentType == resource.contentType
                    && imageId.size() < 32
     }
   }
 }
}

由于这些规则仅在实际上传完成之后才适用(但在文件实际存储到存储桶之前),因此,您通常还需要在上传之前将Android应用中的文件大小检查到避免对太大的文件使用带宽。有关如何在Android上检查本地文件大小的一些示例,请参见Get the file size in android sdk?

答案 1 :(得分:0)

通过改造,您只能一次上传特定大小的文件。 This site提供了从基础到复杂的系列文章的详细教程。