【问题标题】:flutter delete an image from firebase storage颤动从firebase存储中删除图像
【发布时间】:2021-04-25 08:29:30
【问题描述】:

我需要从 Firebase 存储中删除图像。我有一个将图像上传到 Firebase 存储的功能,但我不知道如何从 Firebase 存储中删除图像。

这里是上传图片的功能

Future uploadImageToFirebase(BuildContext context,File file) async {
    String fileName = basename(file.path);
    StorageReference firebaseStorageRef =
    FirebaseStorage.instance.ref().child('uploads/$fileName');

    StorageUploadTask uploadTask = firebaseStorageRef.putFile(file);

    StorageTaskSnapshot taskSnapshot = await uploadTask.onComplete;
    taskSnapshot.ref.getDownloadURL().then(
            (value) {
          print(value);
          setState(() {
            widget.photoAssetPaths[visiblePhotoIndex] = value;
          });
        });
  }

谁能帮我写一个方法来根据代码中的 url 删除图片?

【问题讨论】:

    标签: flutter dart firebase-storage


    【解决方案1】:

    所以这很简单。这是我编写的一个简单函数,用于从存储桶中删除我的文件。

    这是一个简单的方法,将要删除的文件的URL作为参数:

    deleteFile(url)
    

    接下来就是从 URL 中获取引用:

    await FirebaseStorage.instance.refFromURL(url).delete();
    

    请注意,此代码位于try-catch 块中,以便捕捉任何不可预见的错误。

    这是完整的代码:

    Future<void> deleteFile(String url) async {
      try {
        await FirebaseStorage.instance.refFromURL(url).delete();
      } catch (e) {
        print("Error deleting db from cloud: $e");
      }
    }
    

    编码愉快!

    【讨论】:

    • 我得到了'!path.contains('//')': a document path must not contain "//" 任何建议?
    • 我认为您应该重新检查您的 URL 字符串。您可能会附加一个以“/”结尾的字符串和另一个以“/”开头的字符串
    【解决方案2】:

    在 Cloud Storage 中拥有 Reference to the file 后,您可以在该引用上调用 delete。要将下载 URL 映射到引用,您可以调用 storage.refFromUrl()。

    所以,给定下载 URL,应该是这样的:

    FirebaseStorage.instance.refFromUrl(downloadUrl).delete();
    

    【讨论】:

    • 你能给我所有的步骤吗?
    • 我的答案中的代码几乎就是你所需要的。如果您很难完成这项工作,我建议您展示您已经尝试删除特定文件的内容。
    【解决方案3】:

    您总是可以从 firebase 仪表板中删除它,或者您希望用户能够从按钮或其他东西中删除图像?

    【讨论】:

    • 不,我需要在点击应用程序中的按钮时删除它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2018-03-15
    • 2022-01-11
    • 2020-12-13
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多