Případová studie - Když upload stovek fotografií nesmí skončit prvním výpadkem.

AuraWed pomáhá fotografům předávat hotové fotografie jejich klientům. Jednou z klíčových částí celého produktu je proto něco, co na první pohled působí jednoduše: dostat velké množství fotografií bezpečně z počítače fotografa až do klientské galerie.

V praxi ale nestačí obyčejný formulář pro nahrávání souborů. Fotograf může pracovat se stovkami fotografií najednou, připojení může během přenosu vypadnout a stejný požadavek může být kvůli opakovanému pokusu odeslán vícekrát.

Naším úkolem bylo navrhnout a vyvinout upload pipeline, která s těmito situacemi počítá od začátku.

Klient
Tom Greiner
Projekt
Aurawed
Období
2026
Služby
Webový vývoj · Cloudová infrastruktura · WordPress
AuraWed – bezpečný upload fotografií do klientské galerie

Výchozí situace

Velké soubory a nestabilní připojení nejsou výjimka. Jsou součást provozu.

Při předávání fotografií klientům se pracuje s výrazně většími objemy dat než u běžného webového formuláře.

Jeden přerušený upload by neměl znamenat, že fotograf musí celý přenos zahájit znovu. Stejně tak nesmí opakovaný požadavek vytvořit několik kopií stejného záznamu nebo dostat systém do stavu, ve kterém není jasné, co se s fotografií skutečně stalo.

Upload jsme proto navrhli jako samostatný proces s vlastním stavem každého souboru, kontrolou jednotlivých kroků a možností bezpečně pokračovat po chybě.

Fotografie putují přímo do úložiště

Aplikační server nemusí přenášet každý megabajt fotografie.

Místo klasického nahrávání přes webový server jsme připravili přímý upload do objektového úložiště.

Aplikace nejprve ověří uživatele, jeho oprávnění a potřebné podmínky pro nahrání souboru. Samotná data fotografie potom mohou putovat přímo do úložiště bez zbytečného průchodu přes aplikační vrstvu.

Tím se odděluje práce aplikace od samotného přenosu velkých souborů a vzniká architektura vhodnější pro rostoucí objem fotografií.

Upload, který může pokračovat

Výpadek připojení nemusí znamenat začít znovu.

Celý proces jsme připravili na situace, kdy se přenos nepodaří dokončit na první pokus.

Systém průběžně eviduje stav jednotlivých souborů a umožňuje neúspěšné operace řízeně opakovat. Fotograf tak nemusí ztratit celý průběh nahrávání jen proto, že během přenosu na chvíli vypadlo připojení.

Stejný princip platí i na straně serveru. Opakované nebo duplicitní požadavky jsou zpracované tak, aby systém nevytvářel nekonzistentní stav jen proto, že určitá operace dorazila podruhé.

Nahráno ještě neznamená hotovo

Soubor označíme jako připravený až ve chvíli, kdy víme, že skutečně existuje.

Jednou z důležitých částí pipeline je ověření výsledku.

Nestačí spoléhat na to, že požadavek na upload proběhl bez chyby. Systém před dokončením procesu ověřuje, že se očekávaný soubor skutečně nachází v úložišti a může být bezpečně navázán na správné album a uživatelský účet.

Teprve potom se fotografie posune do dalšího stavu. Díky tomu databáze nepracuje pouze s předpokladem, že se přenos pravděpodobně povedl, ale s ověřeným stavem skutečně uloženého souboru.

Zpracování na pozadí

Fotograf nemusí čekat na dokončení každé interní operace.

Část práce spojené s uploadem jsme přesunuli do zpracování na pozadí.

Jednotlivé kroky tak mohou být prováděny a v případě potřeby opakovány nezávisle na původním požadavku z prohlížeče.

Krátký výpadek jedné části systému proto nemusí znamenat ztrátu informace o fotografii nebo nutnost celý proces spustit od začátku.

Napojení na existující AuraWed

Nová upload pipeline nemohla stát vedle produktu. Musela se stát jeho součástí.

Řešení jsme integrovali do existujícího prostředí AuraWed včetně návaznosti na WordPress editor, uživatelské účty a alba.

Pro fotografa tak nevzniká další samostatný nástroj. Nahrávání zůstává součástí workflow, ve kterém následně spravuje fotografie a předává je klientům.

Co jsme na projektu řešili

Upload pipeline

Kompletní proces od výběru fotografií v prohlížeči až po jejich ověření a zařazení do správného alba.

Přímé nahrávání

Přenos velkých souborů přímo do objektového úložiště bez zbytečného zatěžování aplikačního serveru.

Obnovitelné uploady

Možnost pokračovat po přerušeném přenosu a řízeně opakovat operace, které se napoprvé nepodařily.

Kontrola a validace

Ověření uživatele, oprávnění, dostupné kapacity i existence výsledného souboru před dokončením procesu.

Background processing

Zpracování jednotlivých kroků na pozadí s ohledem na výpadky a opakované požadavky.

Integrace

Napojení nové infrastruktury na existující WordPress prostředí, alba a uživatelské účty AuraWed.

Výsledek

Technický základ, který počítá s reálným způsobem práce fotografa.

Výsledkem je upload infrastruktura navržená pro situace, které při práci s větším množstvím fotografií skutečně vznikají — velké soubory, kolísající připojení, přerušené přenosy nebo opakované požadavky.

Místo jednoho křehkého uploadu vznikl proces, který průběžně ví, v jakém stavu se každý soubor nachází, dokáže na neúspěšný krok navázat a fotografii označí jako připravenou až po ověření jejího skutečného uložení.

AuraWed tak získal základ, na kterém může dál stavět předávání fotografií mezi fotografy a jejich klienty.