Rozhraní pro download souborů pomocí ASP – základ aplikace
Představte si situaci, že potřebujete umožnit download souborů a současně nechcete při každé změně souborů modifikovat stránku se seznamem souborů a přitom nechcete či nemůžete povolit procházení adresářové struktury. V tomto článku se dozvíte jak pomocí ASP vytvořit takovouto stránku.
Pro vytvoření seznamu souborů použijeme metodu getFolder objektu Scripting.FileSystemObject čímž získáme referenci na objekt folder, který obsahuje kolekci Files. Tato kolekce obsahuje seznam souborů a jejich vlastností.
Bohužel zde není metoda, která by umožnila třídit seznam souborů podle jména,velikosti či dalších kritérii. Toto třídění je ovšem často nutné a často je návštěvníky požadováno. Proto v dnešním článku připravím „půdu“ pro jednoduché doplnění třídícího mechanismu, který umožní třídit výpis souborů podle jednotlivých vlastností souborů.
Dalším problém, který se objeví při realizaci downloadu je fakt, že pokud uživatel bude mít nastaveno otevírání souboru přímo v nějaké aplikaci bude muset soubor poté z otevřené aplikace uložit. Existuje však možnost jak přimět prohlížeč, aby zobrazil dialog zda soubor uložit nebo otevřít přestože má uživatel nastavenou trvalé otevírání souboru do aplikace. Celý „fígl“ spočívá v poslání té správné hlavičky http protokolu před vlastním posláním souboru.
A jak bude vše dohromady sestaveno? Celá aplikace bude obsahovat dva skripty a to sice default.asp, který zajistí vytvoření seznamu souborů a umožní jejich třídění a přesměrování na skript download.asp, který provede poslání souboru návštěvníkovi. Skript download.asp bude připraven na doplnění o statistiku stažení jednotlivých souboru, která bude uvedena v následujícím článku.
A nyní konečně k vlastním skriptům. Nejprve podrobněji skript default.asp. Ve skriptu jsou tyto tři procedury PripravSoubory,TridSoubory a VypisSoubory. Procedura PripravSoubory je určena k načtení seznamu souboru do pole pro další zpracování. Procedura TridSoubory je prozatím prázdná a její obsah bude předmětem některého z příštích článků. No a konečně výpis souborů do přehledné tabulky zajistí procedura VypisSoubory.
|
Ve skriptu download.asp je třeba před vlastním posláním souboru nastavit response.buffer na true a také tento buffer vyčistit. Pro vlastní poslání souboru směrem ke klientovi použijeme objekt ADODB.Stream. Nejprve nastavíme příslušné hlavičky http protokolu a poté odešleme vlastní soubor pomocí Response.BinaryWrite. Celou akci zakončíme odesláním obsahu bufferu pomocí Response.Flush.
|
Tento skript lze jednoduše doplnit o sledování počtu stažení jednotlivých souborů. Jak to lze provést se dozvíte v dalším pokračování článku. Dnes jen prozradím, že vám předvedu hned dvě naprosto odlišná řešení pro realizaci počitadla stažení souborů.
Na závěr dnešního článku ještě jeden užitečný tip. Představte si situaci, že chcete soubory umístit mimo kořenovou strukturu webu. Zdánlivě nemožná věc je takto zcela jednoduchá a bez problémová. Stačí pouze ve skriptu default.asp do proměnné FILE_FOLDER uvést cestu k adresáři kde jsou umístěny soubory ke stažení.
Vše co jsem dnes popisoval si máte možnost stáhnout zde.
To je pro dnešek vše. Jak jsem již předeslal do skriptů je možné například doplnit řazení výpisu souborů podle všech zobrazovaných údajů či statistikou stažení jednotlivých souborů. O čem si přečtete příští týden závisí na tom jak budete hlasovat v anketě.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
AI a internetové podvody
29. října 2024 -
Umělá inteligence v IT
27. září 2023 -
Monitory OLED: klíčové pojmy a funkce
13. května 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024