Supprimer un fichier de la base de stockage firebase à l’aide de l’URL de téléchargement avec Cloud Functions

J’ai une collection de profils dans ma firebase database Firestore et un champ nommé “profilePicture” avec une valeur downloadUrl.

J’utilise les fonctions de cloud et tente depuis longtemps de comprendre comment supprimer le profileImage lorsque le profil est supprimé.

Je sais comment créer un déclencheur lorsque le profil est supprimé et obtenir l’image de profil downloadUrl, mais comment puis-je supprimer le fichier de la mémoire avec uniquement downloadUrl?

Si j’ai bien compris, le noeud SDK pour Cloud Storage ne peut pas convertir les URL HTTP en chemins de fichiers au sein d’un compartiment de stockage. Au lieu de cela, vous devriez stocker le chemin du fichier avec l’URL de téléchargement dans le document. Cela permettra de créer un object File pouvant être utilisé pour supprimer l’image le moment venu.

La documentation de stockage de firebase fournit une méthode refFromURL(url) pouvant être utilisée sur une instance de Storage . Il indique que l’argument url peut être:

Une URL sous la forme:

1) une URL gs: //, par exemple gs: //bucket/files/image.png

2) une URL de téléchargement extraite de métadonnées d’object.

D’après (2) ci-dessus, il semble qu’une URL HTTP devrait également fonctionner. Cependant, il est probablement préférable de stocker une chaîne de chemin, car les jetons sur les URL HTTP peuvent être pivotés par Firebase.