put(file, options)
put() carica un file e restituisce il nuovo oggetto.
Input
L’estensione dell’oggetto deriva da
filename, poi dal basename del percorso o dal nome del File. I byte e un semplice Blob non hanno nome, quindi passa filename (ad esempio "data.json") quando li carichi.
In Node.js, un percorso che non può essere aperto lancia un semplice
Error (Cannot open file: <path>, con l’errore originale in cause). In un browser, passare un percorso fallisce prima, con l’errore dell’importazione di node:fs. Usa invece un File proveniente da un <input type="file">.Opzioni
Vedi Object Post per tutte le regole lato server.
Risultato
Upload semplici e multipart
put() sceglie il flusso di upload in base alla dimensione del file:
Ogni file deve avere almeno 512 byte; i file più piccoli falliscono con
FILE_TOO_SMALL. Un max_size di una regola o di un token di upload, o la tua quota di storage, possono abbassare il limite di 10 GiB.
Come funziona un upload multipart
- L’SDK avvia l’upload e il server risponde con i limiti delle parti (
max_size,max_parts). - Il file viene diviso in parti di
min(max_size, max(16 MiB, ceil(size / max_parts)))byte. Una parte è di solito di 16 MiB o più, ma è più piccola quando ilmax_sizedel server è più piccolo. - Le parti vengono inviate 6 alla volta, il limite del server per le parti in transito. Una parte fallita viene ritentata entro
maxRetries. - Quando tutte le parti sono arrivate, l’SDK completa l’upload.
put().
Un account può avere al massimo 32 upload multipart aperti (condivisi con il gateway S3); uno in più fallisce con
TOO_MANY_OPEN_UPLOADS. Poiché le parti vengono inviate 6 alla volta per account, esegui un solo upload di grandi dimensioni alla volta.Upload dal browser
Non inviare mai la chiave API a un browser. Invece, il tuo server genera un token di upload a breve durata e il browser carica con quello.- Server
- Browser
put(), inclusi gli upload multipart. Qualsiasi altro metodo fallisce con 403 UPLOAD_TOKEN_NOT_ALLOWED.
uploadTokens.create(options)
Il token vincola ogni opzione con cui è stato generato.
Restituisce
{ token, expires_at, max_uses }. Vedi Upload Tokens per le regole lato server.
uploadTokens.create() è una scrittura e ha un solo tentativo: non viene mai ripetuto.
