首页 > 解决方案 > 如何使用 Flutter 从 Firebase 存储中删除文件夹

问题描述

我正在创建一个使用 Firebase 存储的 Flutter 应用程序。我有一个集合的结构,其中包含 Firestore 中的用户数据和 Firebase 存储上的一个以当前用户的 uid 命名的文件夹。但是,如果用户想要删除帐户,则必须删除所有图像。有没有办法通过 Flutter 删除 Firebase 存储中的整个目录?

文件上传如下:

// Upload img
firebase_storage.Reference storageRef = firebase_storage
    .FirebaseStorage.instance
    .ref()
    .child('images/users/' + uid + '/mealImages/' + fileName);
firebase_storage.UploadTask uploadTask = storageRef.putFile(imageFile); 

// Remove img where uid=aaa and fileName=bbb.jpg
await firebase_storage.FirebaseStorage.instance
    .ref()
    .child(
        'images/users/aaa/mealImages/bbb.jpg')
    .delete();

标签: firebaseflutterfirebase-storage

解决方案


当您向其中添加第一个文件时,会自动创建 Storage 中的文件夹,并在您从中删除最后一个文件时自动删除。

因此,为您的用户摆脱整个文件文件夹的唯一方法是从中删除每个单独的文件..


推荐阅读