/ / Firebase Premere i tasti come nomi di file di Storage di Firebase? - Firebase, Firebase-Database, Firebase-Storage

Firebase Spingi i tasti come nomi di file di Storage di Firebase? - Firebase, Firebase-Database, Firebase-Storage

Ho notato che per utilizzare Firebase Storage (Google Cloud Storage) ho bisogno di trovare un nome file univoco per caricare un file.

Pianifico quindi di conservare una copia di tale posizione del file di archiviazione (https URL o gs URL) nel database Firebase Realtime, in cui i client potranno leggerlo e scaricarlo separatamente

Tuttavia non riesco a trovare univoconomi di file per i file che si trovano su Storage di Firebase. L'utilizzo di un generatore UUID potrebbe causare collisioni nel mio caso poiché molti client caricano le immagini su una singola radice di Firebase

Ecco il mio piano. Mi piacerebbe sapere se funzionerà

Consente di chiamare la mia radice firebase: Chatroom, che consiste di chiavi: chatroom_1, chatroom_2 ... chatroom_n

sotto chatroom_k ho una radice chiamata "Contenuto",che memorizza i push key generati in modo univoco da Firebase per archiviare il contenuto. Ogni tasto push rappresenta un contenuto, ma il contenuto effettivo viene memorizzato in Firebase Storage e una chiave chiamata URL fa riferimento all'URL del contenuto effettivo. Il nome file di questo contenuto sull'archiviazione di Firebase può avere lo stesso tasto Push randomizzato fintanto che la gerarchia di bucket rappresenta chatroom_k?

risposte:

5 per risposta № 1

Non sono sicuro che la memoria fornisca la funzione push () ma un suggerimento sarebbe il seguente:

Richiedi un push () in una posizione casuale al tuo database Firebase e usa questa chiave per un nome.

In ogni caso, probabilmente dovrai memorizzare questo nome anche nel database.

Nella mia applicazione ho un nodo chiamato "foto" e lì memorizzo le informazioni sulle immagini che carico. Prima faccio un push () per ottenere una nuova chiave e uso questa chiave per rinominare l'immagine caricata.

È questo di cui hai bisogno o ho frainteso qualcosa?