Download endpoint buffers entire object in browser memory

Aperta
#307 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
68/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
frontend

Direzione di ricerca

Inizia da src/lib/storage/download.ts e traccia il fetch di downloadObject, il buffering di Blob e il clic programmatico su un anchor. Usa createWritable() della File System Access API per i browser supportati, mantieni l’attuale fallback di Blob per Firefox e verifica che i download di grandi dimensioni non richiedano più il buffering dell’intero oggetto prima del salvataggio.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

File: src/lib/storage/download.ts

downloadObject fetches the full S3 object body via the /storage/api/download endpoint, buffers it as a Blob in browser memory, then triggers a programmatic anchor click. This is simpler than streaming directly to disk but means the entire object must fit in browser memory before the save dialog appears. Acceptable for the current object sizes; for very large files (multiple GiB) this will cause memory pressure. Long-term fix: use the File System Access API createWritable() to stream bytes directly to disk without buffering, with a fallback to the current Blob approach for Firefox (which does not support showSaveFilePicker).

Lingua principale
TypeScript
Stelle
1
Fork
0
Merge medio
22h 6m
PR unite (30g)
12

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di stackabletech/cockpit

Tutte le issue di stackabletech/cockpit

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.