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
-
Jak vybrat doménu: Co je dobré vědět?
2. září 2024 -
Praktické rady na zabezpečení redakčního systému WordPress
27. února 2023 -
Jak lze snadno upravovat soubory v PDF?
14. září 2023 -
Co je to VRAM a jak ji navýšit bez drahého upgradu?
20. srpna 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024