Přejít k navigační liště

Zdroják » Zprávičky » Jak na lepší upload souborů

Jak na lepší upload souborů

Zprávičky Různé

Antonio Lupetti v článku File uploaders collection for web developers popisuje knihovny nabízejí lepší upload souborů, konkrétně Yahoo! UI Library Uploader, jQuery.MultiFile, FancyUpload, jQuery Ajax uploader, Mega Upload Progress Bar, Free ASP Upload, ColdFusion file upload progress a MooMultiple file upload.

Klasický formulářový upload je totiž nedostatečný. Dokáže nahrát najednou jen 1 soubor a neposkytuje zpětnou vazbu o postupu nahrávání. Zmíněné nástroje pak řeší jeden z těchto dvou problémů (případně oba) a nabízí uživateli snadný výběr a nahrání více souborů najednou včetně zobrazování progressbaru během nahrávání. Jak to dělají? Inu sáhnout po zcela jiné technologii, použijí Flash (resp. Flash komponentu na pozadí, takže na stránce si jí nevšimnete), který tyto možnosti obsahuje. HTML5 vícenásobný upload souboru řeší, ale byl doposud implementován pouze v Opeře, tudíž se na něj zatím nelze spoléhat.

Každopádně Flash řešení funguje, jen byste neměli vždy zapomenout jako alternativu nabídnout i klasické formulářové řešení. (Pozn. redakce: Argumentace dostatečnou penetrací Flashe mezi uživateli je v tomto případě lichá, protože jak se v redakci opakovaně přesvědčujeme, existují Flash uploadovací řešení, které na některých konfiguracích záhadně nefungují. Klasický HTML formulář pro upload je v takovém případě poslední záchranou.)

Komentáře

Subscribe
Upozornit na
guest
9 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
v6ak

Jako správný antiflashista doplním, že s flashem asi budou velké problémy na mobilu. Populární Opera mini nezvládá flash vůbec a NetFront v mém mobilu zvládne něco jednoduššího (specifikace AFAIK říká Flash Lite 2.0). A to mám mobil řady Generation web.

McBig

'Klasický formulářový upload je totiž nedostatečný. Dokáže nahrát najednou jen 1 soubor a neposkytuje zpětnou vazbu o postupu nahrávání.'

Zpětná vazba je problém, už se těším na to, až budou obecné js objekty prohlížeče, které budu moci používat, ale nechápu co je myšleno tím jedním souborem. To myslíte jako paralelně nahrávat 2 soubory najednou (stejně jako se stahují paralelně obrázky z webu) ? Bo nahrávat více souborů na server přes jeden formulář není problém….

A otázka je, co získám, budu li nahrávat dotyčné soubory paralelně …

McBig

Chápu, ze zprávičky to (alespoň mě) není jasné :) Tohle je ale o5 problém prohlížeče, příp. systému (grafického rozhraní) na kterém browser běží.

Dialog souboru ve Win vypadá jinak než v Lin (a i se malinko jinak chová). Vedle toho že neumí vybrat více souborů (tedy alespoň z hlediska uživatele to tak vypadá) narozdíl od Win, v Linuxu se mi velmi líbí že vidím náhled fotografie než ji vyberu. Ale chybí mě tam přehled souborů po sloupcích, takže se blbě hledá, jakou že fotku sem už nahrál, a jakou ještě ne :S

v6ak

Ano, ale jen částečně. V něčem jako <input type="multifile" …> (cucám z prstu) v html5 to nebude problém implementovat. Ale vemte si, že máte javascriptem rozšiřovaná <input type="file" …> a zkuste navrhnout implementaci výběru více souborů zároveň. Uvidíte, že to není žádná sranda. A pak to někdo implementuje trošku jinak, než čekáte, a nepojede to.

karf

K té poznámce redakce: většina těchto flash uploaderů musela nedávno řešit problém s přechodem na Flash 10, ve kterém dříve používaný postup přestal fungovat (Flash 10 zamezil z bezpečnostních důvodů možnost programově vyvolat file dialog). Nové verze uploaderů to řeší jinak (flash už nemůže být skrytý, musí se klikat do něj). Nejsou ony záhadné nefunkčnosti důsledkem právě těchto nekompatibilit s Flashem 10?

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.