【问题标题】:How to render a loader while I upload file on firebase using flutter?当我使用颤振在firebase上上传文件时如何渲染加载器?
【发布时间】:2021-01-04 14:50:36
【问题描述】:

我想在颤振上上传 pdf 文件,我已经编写了一个函数来实现这一点,按下按钮我想运行这个函数来上传 pdf,但是上传需要一些时间,所以在那之前我想展示一个装载机。

Future savePdf() async {
    StorageReference storageReference;
    final FirebaseAuth _auth = FirebaseAuth.instance;
    final FirebaseUser user = await _auth.currentUser();
    String uid = user.uid.toString();
    print(uid);
    storageReference = FirebaseStorage.instance.ref().child(uid);
    final StorageUploadTask uploadTask = storageReference.putFile(file);
    final StorageTaskSnapshot downloadUrl = (await uploadTask.onComplete);

    docurl = (await downloadUrl.ref.getDownloadURL());
    await firestoreInstance.collection('Resumes').document(uid).setData(
      {
        'score': 'Scoring under Process...',
        'pdf': docurl.toString(),
        'feedback': 'Feedback under Process,Please hold tight!',
      },
    ).then((result)=>
    setState((){
      isuploaded=true;
    })
    
    );
  }

这是我的函数savepdf 上传pdf。 现在这是我的按钮,按下时必须在上传时显示加载器。

onPressed: () async {
            await savePdf();
}

上传文件时如何显示加载器?

【问题讨论】:

    标签: firebase flutter dart google-cloud-firestore async-await


    【解决方案1】:

    你可以给我们一个isLoading bool 然后:

    onPressed: () async {
      setState(() => isLoading = true);
      await savePdf();
      setState(() => isLoading = false);
    }
    

    然后在您的小部件树中:

    ...
    if (isLoading)
       CircularProgressIndicator();
    ...
    

    【讨论】:

      猜你喜欢
      • 2019-06-15
      • 2021-04-03
      • 2021-04-03
      • 2021-12-22
      • 2017-05-29
      • 2021-06-26
      • 1970-01-01
      • 2021-02-26
      • 2020-07-17
      相关资源
      最近更新 更多