Caricare e scaricare file con la CLI dosya
Trasferisci un file di prova specificando spazio di lavoro e percorsi, scopri ripresa, trasferimenti simultanei e sovrascrittura, poi verifica i byte scaricati in sicurezza.
Ultima revisione
Gli screenshot mostrano l’interfaccia in inglese.
Inizia con un file non riservato, uno spazio di lavoro esplicito e percorsi locali separati per origine e download. Un caricamento riuscito crea contenuti archiviati in dosya; un download con --force può sostituire un file locale. Verifica il trasferimento di andata e ritorno prima di automatizzare i comandi.
Procedura
Scegli uno spazio di lavoro e, se vuoi, un ID cartella di destinazione:
DOSYA_WORKSPACE_ID='ws_REPLACE_ME'
DOSYA_FOLDER_ID='fld_REPLACE_ME'
printf 'Dosya CLI transfer check\n' > cli-transfer-check.txt
dosya upload ./cli-transfer-check.txt \
--workspace "$DOSYA_WORKSPACE_ID" \
--folder "$DOSYA_FOLDER_ID"
Ometti --folder per caricare nella radice dello spazio di lavoro. Se non sono disponibili né --workspace né un valore predefinito salvato, il comando si ferma con Workspace ID required. Use -w <id> or set default: dosya workspace use <id>. Un percorso locale inesistente produce File not found: …; una directory senza --recursive viene rifiutata per evitare di perderne la struttura.
Quando l’endpoint è disponibile, la CLI legge le regole correnti di caricamento dello spazio di lavoro prima del trasferimento. Estensioni bloccate e file oltre il massimo configurato vengono rifiutati localmente secondo la regola del server. Un totale superiore allo spazio rimanente produce un avviso, mentre il server resta l’autorità finale sulla quota. Ruolo e chiave devono entrambi consentire i caricamenti.
I file oltre 50 MiB usano il caricamento multipart. Se una parte non viene caricata, la CLI riprova; un file ausiliario <filename>.dosya-upload registra la sessione riprendibile. Ripeti lo stesso comando dopo un’interruzione: il file ausiliario viene usato solo se dimensione e data di modifica del file corrispondono ancora, e rimosso dopo il successo. I file più piccoli usano una richiesta in streaming con ritardi di 1, 3 e 8 secondi per errori riprovabili.

Acquisisci l’ID del file caricato
Per gli script, usa JSON invece di analizzare il testo di avanzamento:
dosya upload ./cli-transfer-check.txt \
--workspace "$DOSYA_WORKSPACE_ID" \
--folder "$DOSYA_FOLDER_ID" \
--json > upload-result.json
DOSYA_FILE_ID=$(python3 -c 'import json; print(json.load(open("upload-result.json"))["file"]["id"])')
printf '%s\n' "$DOSYA_FILE_ID"
La risposta per un singolo file contiene file.id e file.name. Conserva upload-result.json solo se servono i suoi metadati; non contiene la chiave API. Per caricare una sostituzione intenzionale come nuova versione, usa --version-of con un ID o percorso di file esistente:
dosya upload ./report-v2.pdf --workspace "$DOSYA_WORKSPACE_ID" --version-of reports/report.pdf
Il caricamento di una versione cambia la versione corrente del file archiviato; conserva l’origine locale finché la nuova versione non compare in dosya. Non usare --version-of per creare un file separato.
Scarica in un nuovo percorso locale
Indica il file con l’ID restituito o un percorso relativo allo spazio di lavoro:
mkdir -p ./dosya-transfer-check
dosya download "$DOSYA_FILE_ID" --output ./dosya-transfer-check/received.txt
cmp ./cli-transfer-check.txt ./dosya-transfer-check/received.txt
Quando --output indica una directory, il file viene salvato al suo interno con il nome assegnato dal server. Senza opzione di output si usa la directory corrente. Se la destinazione esiste, un terminale interattivo chiede conferma prima di sovrascrivere; in JSON o in esecuzione non interattiva il comando si ferma con already exists. Use --force to overwrite. --force sostituisce quel percorso locale senza altra conferma.
I download usano una connessione per i file piccoli e fino a 8 connessioni parallele per impostazione predefinita per oggetti più grandi; --connections accetta 1–16. I download segmentati interrotti conservano <output>.dosya-download; ripeti lo stesso comando con file e percorso identici per continuare il download conservando gli intervalli già completati. Gli URL temporanei scaduti vengono rinnovati fino a tre volte.
Dopo il trasferimento, la CLI confronta il contenuto salvato con un ETag di origine riconosciuto: un normale MD5 o la forma composita multipart dosya. I formati ETag sconosciuti vengono saltati, senza tentare di interpretarli. --no-verify disattiva questo controllo di integrità e va riservato a un problema di compatibilità diagnosticato. La sola dimensione non rileva ogni corruzione.

Trasferisci cartelle e più file
Carica una directory con --recursive; per impostazione predefinita dosya crea una cartella principale con il nome della directory locale. Aggiungi --contents per mettere solo il contenuto nella destinazione scelta:
dosya upload ./project --recursive --workspace "$DOSYA_WORKSPACE_ID" --parallel 3
dosya upload ./project --recursive --contents --workspace "$DOSYA_WORKSPACE_ID"
Il numero predefinito di caricamenti simultanei è 3, con massimo 16, e viene ulteriormente ridotto se lo spazio di lavoro ha un limite inferiore. Per scaricare una cartella remota, usa la procedura ricorsiva dedicata. Per più file specifici in un archivio, usa dosya download --zip FILE... -o bundle.zip.
Risultato previsto
Il caricamento riporta un ID del file nello spazio di lavoro e nella cartella desiderati. Scaricando il file con quell’ID in un nuovo percorso locale eviti ambiguità sulla sovrascrittura; cmp o il controllo di integrità della CLI conferma che i byte ricevuti corrispondono all’origine.
Guide correlate
Ti è stata utile?
Caricamento delle valutazioni…
Quando voti, salviamo un cookie tecnico per un massimo di 180 giorni, così puoi cambiare la tua risposta.
Domande e risposte
Fai una domanda sui passaggi di questa guida. Le domande vengono revisionate prima della pubblicazione.
Non inserire dati dell’account, credenziali o file privati nelle domande pubbliche. Usa l’assistenza privata in questi casi.
Caricamento delle domande…
Accedi al tuo account dosya per fare una domanda.