Je suis actuellement le cours "Développez des applications web avec Angular" et je bloque à la dernière partie "Créer une application complète avec Angular et Firebase".
Je suis arrivé à l'étape de l'API Firebase Storage afin de permettre à l'utilisateur d'ajouter une photo et d'afficher celle-ci dans (SingleBookComponent) qui est nommé (SingleDrumComponent) pour ma part.
J'arrive bien à ajouter la photo celle-ci est bien enregistré dans Firebase mais je n'arrive pas à l'afficher dans (SingleBookComponent)
(file : File) est bien reçu, la définition d'upload fonctionne.
En revanche, la troisième fonction :
() => {
resolve(upload.snapshot.downloadURL);
}
Celle-ci renvoie "undefined", ce qui fait qu'à la réception supposée "d'url" dans books.service, aucune valeur n'est reçu, derrière ça fait que rien n'est sauvegardé dans la BDD
vous pourriez voir cette erreur mieux décrite dans la console
Object { code_: "storage/unknown", message_: "Firebase Storage: An unknown error occurred, please check the error payload for server response.", serverResponse_: "{\n \"error\": {\n \"code\": 400,\n \"message\": \"Permission denied. Could not access bucket bookshelves-3d2cb.appspot.com. Please enable Firebase Storage for your bucket by visiting the Storage tab in the Firebase Console and ensure that you have sufficient permission to properly provision resources.\"\n }\n}", name_: "FirebaseError" }
pour solutionner le problème
dans la console firebase > développer > Storage > commencer une nouvelle DB > définir les règles de sécurité
Pour les jusqueboutistes, la fonction getDownloadURL() attend le retour du serveur pour fournir l'URL. Si on veut pouvoir manipuler la string dans la partie "complete" d'upload.on, on peut aussi faire comme ceci :
Ainsi, on peut afficher l'URL dans la console par exemple.
Attention a bien mettre le resolve dans le then et pas en dehors, sinon on exécute le code avant l'arrivée de l'info du serveur et du coup on se retrouve avec undefined à nouveau. j'ai mis un moment à comprendre cette subtilité...
- Edité par raphaelmollon 30 janvier 2019 à 21:48:20
Voilà je développe une application web avec Angular et Firebase.
Dans la page d'accueil de mon application web je dois afficher en carrousel des images stockées dans storage de firebase.
Les images sont stockées dans un dossier ("images/carrousel/") sur storage.
Mon souci est de récupérer dans une liste (array de type string) les différentes urls des images stockées. ????
Notez bien que selon le script je ne connais pas les noms des différentes images stockées, puisque les images seront changées dans le temps et je n'aimerais pas à vouloir changer à chaque fois le script lorsque j'aurais à ajouter une nouvelle image ou à en supprimer.
@GeoffroyMartelée Bonsoir, merci de ne pas déterrer d'ancien sujet résolu, créer le votre en utilisant le bouton code </> de la barre d'outil du forum pour nous communiquer le code que vous avez écrit.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
MN¨