Skip to content

Download ZIP in streaming di album/selezioni full-res (zipstream-php) #116

Description

@fabiodalez-dev

Contesto

Scaricare un intero album/selezione full-res oggi rischia di saturare la memoria PHP.

Obiettivo

Download ZIP in streaming di album o selezioni a piena risoluzione, a memoria costante.

Scope

  • Integrare maennchen/zipstream-php per generare lo ZIP in streaming verso il client (nessun file temporaneo enorme, niente buffer in RAM).
  • Endpoint di download per album e per selezione di immagini (lista id), con AuthMiddleware/permessi e rispetto della password album dove prevista.
  • Rispetto del flag watermark (feat: Expand plugin hook system across admin and frontend #6) sui contenuti scaricati quando attivo.
  • Rate-limit e nomi file/cartelle sensati nello ZIP (es. titolo album / filename originale).
  • Header corretti (Content-Type, Content-Disposition) e streaming compatibile con la CacheMiddleware.

File / aree coinvolte

  • Nuovo controller/endpoint download, app/Config/routes.php, composer.json, integrazione con storage (originali) — coordinarsi con eventuale Flysystem.

Criteri di accettazione

  • Download di un album da centinaia di foto full-res senza picco di memoria.
  • Permessi/scadenza/password rispettati; watermark applicato se attivo.
  • Funziona su SQLite e MySQL (solo lettura lato DB).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions