2016-06-06 15 views
8

Quindi il nuovo Firebase supporta lo storage utilizzando Google Cloud Platform.Come creare una cartella in Storage di Firebase?

È possibile caricare un file nella cartella images utilizzando:

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

Che cosa succede se si desidera creare una sottocartella images/user1234 dinamicamente utilizzando il codice?

L'ufficiale sample non mostra come farlo, né lo official guide o reference docs.

La console di Firebase è l'unica posizione in cui è possibile creare cartelle manually?

risposta

8

La Console Firebase consente di creare una cartella, poiché è il modo più semplice per aggiungere file a una cartella specifica lì.

Ma non esiste un'API pubblica per creare una cartella. Invece le cartelle vengono create automaticamente quando aggiungi file a loro.

15

L'API di archiviazione Firebase crea dinamicamente "cartelle" come prodotti intermedi: se si crea un file su images/user1234/file.txt, verranno create tutte le "cartelle" intermedie come "immagini" e "utente1234". Così il codice diventa:

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

Si noti che è necessario includere il nome del file (foo.txt ad esempio) nella chiamata child(), dal momento che il riferimento dovrebbe includere il percorso completo e il nome del file, altrimenti il ​​file verrà si chiama images.

+0

Possiamo caricare una cartella nella console di stoccaggio? – user142020a

0

La console di Firebase consente di creare una cartella. Non penso che ci sia un altro modo per creare una cartella.

0

È sicuramente possibile creare directory ... con un po 'di gioco con i riferimenti che ho fatto quanto segue.

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

+1

Sai che la risposta è davvero la stessa tra Frank, Mike e me ho appena detto diversi modi ... – JustDave

Problemi correlati