当前位置: 首页 > 知识库问答 >
问题:

如何使用Firebase存储?

越朗
2023-03-14

我正在学习firebase,有一些关于Firebase存储的问题:

    < li >我可以使用的总文件大小的限制? < li >我想使用firebase datastorage使用avatar上传图像,然后使用该url将图像加载到带有glide或picasso的imageview。可能吗? < li >我想将我的应用程序与firebase authenticate配合使用,以使用登录、firebase消息推送通知、firebase数据库保存一些小数据、firebase分析和数据库存储。但是我的账户是免费的。如何计算当前访问并发数?(我想找到一个解决这个问题的方法)如果我使用多个firebase号的服务并发访问,会不会产生?

共有2个答案

穆展鹏
2023-03-14

转到 Firebase 控制台 -

>

  • 创建一个文件 firebase/firebase.utils.js

     import firebase from 'firebase/app'
     import 'firebase/storage'
    
     // copy config from firebase web app project
     const config={
     apiKey: "your api key",
     authDomain: "auth domain",
     projectId: "web app name",
     storageBucket: "storage bucket",
     messagingSenderId: "sender ID",
     appId: "app id",
     measurementId: "measure id"
     };
    
     export const app=firebase.initializeApp(config)
     export default firebase;
    

    转到应用.js

     import {app} from './firebase/firebase.utils.js'
     function App() {
     const onChange = (e) => {
     const file = e.target.files[0];
     const storageRef = app.storage().ref()
     const fileRef = storageRef.child(file.name)
     fileRef.put(file).then(() => {
      console.log("Uploaded a file")
    })
    }
    
     return (
    
     <input type="file" onChange={onChange}/>
    
    );
    }
    
    export default App;
    

    在这里,如果你想下载链接到firebase文件,然后将以下更改应用到onChange

    注意-

     const onChange = (e) => {
     const file = e.target.files[0];
     const storageRef = app.storage().ref()
     const fileRef = storageRef.child(file.name)
     fileRef.put(file).then(() => {
      fileRef.getDownloadURL().then(function (url) {
                console.log(url);
               
     });
       console.log("Uploaded a file")
      })
    }
    

    如果您想限制firebase的上传大小,请转到“存储”下的“规则”,并使用以下规则:< br >//此规则将允许上传任何不超过10mb的文件

    rules_version = '2';
    service firebase.storage {
      match /b/{bucket}/o {
        match /{allPaths=**} {
          allow read: if true;
          allow write: if request.resource.size < 10 * 1024 * 1024;
                       
        }
      }
    }
    

    如果只想允许图像

      rules_version = '2';
      service firebase.storage {
      match /b/{bucket}/o {
      match /{allPaths=**} {
      allow read: if true;
      allow write: if request.resource.size < 10 * 1024 * 1024
               && request.resource.contentType.matches('image/.*');
                   
      }
     }
    }
    

    如果只想写访问删除允许读取:如果为真;

  • 郭弘盛
    2023-03-14

    问题1:

    每个文件5 TB,当然也受到您当前计划的限制。

    https://stackoverflow.com/a/37971182/2254886 https://cloud.google.com/storage/docs/json_api/v1/how-tos/upload

    这里有一种方法可以限制它:https://stackoverflow.com/a/38427527/2254886

    是的,您可以在存储桶中存储和检索数据。您可以轻松地以编程方式获取URL(公共或私有,您选择的)。

    问题3(嗯,问题很多):

    https://firebase.google.com/pricing/

     类似资料:
    • 我正在firebase中开发一个应用程序。创建订单时,我希望生成其发票。我已经实现了这个功能,但是URL有问题,因为pdf是创建的,但是正如你在图片中看到的,打开它的URL是错误的。 这是我在云函数index.js中的代码: 如你所见,pdf创建正确,但网址是错误的,我不能打开它。 如果有人帮助我,我将非常感激。

    • 简而言之,一个人如何以给定的Firebase用户/UID的身份从Node.js访问Firebase存储?

    • 但是如何使用Firebase来使用不由Firebase管理的现有存储桶(尽管它拥有与创建Firebase应用程序所使用的相同的谷歌云账户的管理员访问权限)?

    • 我正在尝试使用一个用Java编写的桌面应用程序将数据保存到Firebase。但是,由于某些原因,它不起作用,我一直在这里提供的文档:https://firebase.google.com/docs/database/admin/save-data。找不到任何视频教程的问题,所有视频都是网络或移动相关的。基本上,我想创建一个名为Venda的对象,它有3个属性(ID、data、valor),然后将它保

    • 而且 而且 错误:(34,13)无法解决:com.google.firebase:firebase-auth:9.2.0在文件中显示 在项目结构对话框中显示

    • 我有一个webapp,用户通过Firebase Auth进行匿名身份验证。我将来自用户的图像存储在Firebase存储中,Firebase存储在后台由谷歌云存储桶支持。当我试图从客户端javascript使用Google Cloud Vision API来获取图像属性时,我得到了一个权限错误。 如果我把这张照片公之于众,一切都会好起来。但这是用户数据,不能公开。我该怎么解决这个问题? 我调用vis