【问题标题】:Flutter : How to upload image to firestore in formFlutter:如何以表格形式将图像上传到firestore
【发布时间】:2021-12-05 06:18:30
【问题描述】:

嘿,我是 firestore 的新手,对将数据上传到 firestore 有点困惑。举个例子,我有这样的表格格式:

所以,有一个数据(名称,DoB)表格和上传图片表格。 据我所知是使用 cloud_firestore 插件存储数据集合(如姓名和出生日期部分),否则存储图像文件使用 firebase_store 插件。

那么,如何在上传这样的表单时同时使用这两个插件呢?还是有其他方法可以用表单上传图片?

谢谢。

【问题讨论】:

    标签: firebase flutter google-cloud-firestore


    【解决方案1】:

    您需要先将图片上传到 firebse_storage ,获取链接并创建 firestore 文档。

    例子

    // upload the file helper
     Future<String?> uploadFile(FilePickerResult? fileName) async {
        Uint8List? fileBytes = fileName!.files.first.bytes;
    
        // Create a Reference to the file
        var filename = DateTime.now().toLocal().toIso8601String();
        if (kIsWeb) {
          firebase_storage.Reference ref = firebase_storage.FirebaseStorage.instance
              .refFromURL(storageRefFbS)
              .child("files")
              .child(filename + "." + fileName.files.first.extension!);
          await ref.putData(fileName.files.first.bytes!);
    
          var dwonloadurl = await ref.getDownloadURL();
          log(dwonloadurl);
          return dwonloadurl;
        }
      }
    

    //上传文件/图片

     var downloadUrl =
                              await firebaseHelper.uploadFile(myPickedFile);
    

    //保存数据

     FirebaseFirestore.instance
              .collection("myData")
              
              .set({
            "sname": "name",
            "url":downloadUrl,
            
            
          });
    

    【讨论】:

    • 谢谢,你能告诉我更多关于 firebaseHelper 或 file Helper 的信息吗?这对我来说是新的,我在 firebase.flutter.dev 文档中找不到它
    • 它只是一种上传东西的方法,而不是 Firebase 组件
    猜你喜欢
    • 1970-01-01
    • 2021-05-13
    • 2018-12-05
    • 2023-03-11
    • 2019-12-29
    • 1970-01-01
    • 2022-11-16
    • 2019-08-20
    • 1970-01-01
    相关资源
    最近更新 更多