web-dev-qa-db-fra.com

Comment créer un dossier dans Firebase Storage?

La nouvelle Firebase prend donc en charge le stockage à l'aide de Google Cloud Platform.

Vous pouvez télécharger un fichier dans le dossier images en utilisant:

var uploadTask = storageRef.child('images').put(file, metadata);

Que faire si vous voulez créer un sous-dossier images/user1234 de manière dynamique en utilisant du code?

L'offical sample ne montre pas comment faire cela, ni le guide officiel ou la documentation de référence .

La console Firebase est-elle le seul endroit où les dossiers peuvent être créés manuellement ?

10
Pier

La console Firebase vous permet de créer un dossier, car il s’agit du moyen le plus simple d’ajouter des fichiers à un dossier spécifique.

Mais il n'y a pas d'API publique pour créer un dossier. À la place, les dossiers sont créés automatiquement lorsque vous leur ajoutez des fichiers.

10

L'API de stockage Firebase crée dynamiquement des "dossiers" en tant que produits intermédiaires: si vous créez un fichier avec images/user1234/file.txt, tous les "dossiers" intermédiaires tels que "images" et "utilisateur1234" seront créés en cours de route. Donc, votre code devient:

var uploadTask = storageRef.child('images/user1234/file.txt').put(file, metadata);

Notez que vous devez inclure le nom du fichier (foo.txt par exemple) dans l'appel child(), car la référence doit inclure le chemin d'accès complet ainsi que le nom du fichier, sinon votre fichier s'appellera images.

19
Mike McDonald

Vous pouvez très certainement créer des répertoires ... en jouant un peu avec les références, j'ai fait ce qui suit.

test = (e,v) => {
    let fileName = "filename"
    let newDirectory = "someDir"
    let storage = firebase.storage().ref(`images/${newDirectory}/${fileName}`)

    let file = e.target.files[0]
    if(file !== undefined && file.type === "image/png" ) {
        storage.put(file)
            .then( d => console.log('you did it'))
            .catch( d => console.log("do something"))
    }
}

 enter image description here

2
JustDave
String myFolder = "MyImages";
StorageReference riversRef = storageReference.child(myFolder).child("images/pic.jpg");
1
Tarun Umath

La console Firebase vous permet de créer un dossier. Je ne pense pas qu'il existe un autre moyen de créer un dossier.

0
Suraj Upreti