Archivia e offri file con JavaScript SDK
I flussi quotidiani di aura.storage, con le regole di accesso osservate rispetto a uno stack in esecuzione.
1. Benne
Un bucket raggruppa i file e decide se sono pubblici. La creazione e l'eliminazione dei bucket richiede una chiave service_role. Per elencarli è necessario un utente registrato o una chiave service_role; solo la chiave pubblica ottiene 403.
Un bucket accetta anche fileSizeLimit (in byte) e allowedMimeTypes. Un caricamento troppo grande restituisce 413 e un tipo non consentito restituisce 400.
2. Carica, scarica, elenca, rimuovi
Cosa aspettarsi:
- Il caricamento di un percorso esistente restituisce
409a meno che non si passiupsert: true. - Il caricamento richiede un utente registrato o una chiave
service_role. Solo la chiave pubblica ottiene403, anche per un bucket pubblico. - Un percorso con
..viene rifiutato con400. - I percorsi sono condivisi all'interno di un bucket. Se un altro utente ha già il percorso, ottieni
409. Inserisci i file di ciascun utente nella propria cartella, ad esempio${user.id}/….
3. Condividi un file
Entrambi i collegamenti sono stati recuperati senza alcuna chiave e hanno restituito il file. Un collegamento firmato smette di funzionare dopo expires_in secondi. Per consentire il caricamento di un browser senza una chiave, un server conia createSignedUploadUrl(path) (una chiamata service_role).
4. Chi può fare cosa
| Azione | Chiave pubblica | Utente registrato | service_role |
|---|---|---|---|
| Leggere un file in un bucket pubblico | sì | sì | sì |
| Leggi, elenca un file in un bucket privato | no | solo il suo proprietario | sì |
| Carica | no | sì | sì |
| Sostituisci o rimuovi un file | no | solo il suo proprietario | sì |
| Elenca i bucket | no | sì | sì |
| Crea, elimina i bucket | no | no | sì |
Il proprietario è l'utente che ha caricato il file. In un'esecuzione reale, un secondo utente non può elencare, scaricare o rimuovere il file del primo utente in un bucket privato e non può nemmeno sostituirlo.
5. Sposta e copia da un server
Il ridimensionamento delle immagini è descritto in riferimento all'archiviazione.