logo
14.01.2020 10:08
1
Zdravím,

pro webovou aplikaci řeším, jak optimálně zmenšovat a ukládat obrázky, které uživatelé budou nahrávat.

Chápu, že je ideální obrázek zmenšit už při uploadu, aby zbytečně nezabíral příliš místa na serveru. Pokud ale v aplikace potom potřebuji několik různých velikostí obrázků (řekněme 1024x768, další 400x300 a další 40x30), jak je optimální s tím pracovat? Připravit si všechny velikosti obrázků rovnou při uploadu, nebo řešit zmenšování až při posílání na frontend s využíváním cache?

Díky moc za názory.
14.01.2020 10:32
2
Tohle je vec, kterou resim zas a znovu porad dokola.

Zacina to uz pri nahravani, zda uzivateli nabidnete nahravany obrazek nejak pozicovat, orezavat, apod.

Ja jsem treba nyni delal nahrani livobolneho rozmeru, a je tam urcena minimalni vyska/sirka a pomer stran. Pokud tohle projde, tak si na na serveru vytvorim miniatury. Pri zobrazeni na frontendu je tedy kazdy obrazek rozmerove jiny, ale je to zobrazeno pres "scale".

Ale porad se mi to moc nelibi...
14.01.2020 10:49
3
Nejjednodušší je to mít přikryté nějakou CDNkou, která se o to postará, tj. přidáte si do parametru obrázku velikosti a CDNka se postará o zbytek, typicky dobře to umí Cloudinary, kde do parametru můžete přidat i spousty jiných transformací:

Fetch remote images | Cloudinary

U větších webů to ale stojí peníze, tj. většina systémů se nespoléhají na CDN a řeší to při uploadu. Řešit to při generování frontentu ne, protože nikdy nevíte, kolik tam bude paralelních požadavků a jak moc to zahltí server. U uploadu víte přesně, že je to jeden obrázek v jeden časový okamžik.
14.01.2020 17:40
4
Původně odeslal Engineer
Nejjednodušší je to mít přikryté nějakou CDNkou, která se o to postará, tj. přidáte si do parametru obrázku velikosti a CDNka se postará o zbytek, typicky dobře to umí Cloudinary, kde do parametru můžete přidat i spousty jiných transformací:

Fetch remote images | Cloudinary

U větších webů to ale stojí peníze, tj. většina systémů se nespoléhají na CDN a řeší to při uploadu. Řešit to při generování frontentu ne, protože nikdy nevíte, kolik tam bude paralelních požadavků a jak moc to zahltí server. U uploadu víte přesně, že je to jeden obrázek v jeden časový okamžik.
Rozumím a díky za odpověď, nicméně jsme v situaci, že pro nás je zatím zcela zbytečné CDNku využívat.