Tengo una aplicación simple donde el usuario puede cargar una imagen de perfil. La función para cargar funciona. Quiero un botón para eliminar la cuenta de usuario y, al mismo tiempo, eliminar la imagen del usuario del almacenamiento de Firebase.
Esta es la función simple para eliminar la imagen de usuario:
const deleteUserAccount = () => { firebase .storage() .ref(`users/${user.uid}/profile.jpg`) .delete() .then(() => { console.log('image deleted'); }) .catch((err) => { console.log(err); });si ejecuto la función se borra toda la carpeta "users" no solo la correspondiente al userId del usuario. Solo quiero eliminar la carpeta {user.uid} correspondiente.
Aquí mis reglas de almacenamiento:
rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{users}/{uid}/{profileImage} { allow read, write: if request.auth.uid == uid; } } }Gracias
Si no hay nada más que el archivo profile.jpg en la carpeta, el comportamiento es el esperado. Las carpetas en Cloud Storage se crean y eliminan automáticamente a medida que se agregan y eliminan archivos. No puede tener una carpeta sin un archivo (a través de la API).