Články o Px Frameworku:
PxUploader - komponenta na nahrávanie binárnych a textových súborov na server
Komponenta PxUploader zabezpečuje nahranie binárnych alebo textových súborov z klientského prehliadača na server. PxUploader pracuje s prehliadačmi ako Windows Internet Explorer, Firefox a pod. Na správnu funkciu komponenty PxUploader musíte mať vo svojom webovom prehliadači nainštalovaný Media Flash Player a povolený JavaScript.
Pokiaľ chceme pracovať s komponentou PxUploader, musíme si ju v súbore *.aspx zadefinovať nasledovne:
<Prx:PxUploader ID="Uploader" runat="server" />
Ak chceme, aby komponenta PxUploader bola viditeľná v aspx súboroch, musíme si v hlavičke súboru zadefinovať "Prx" prefix s prepojeným na assembly komponenty PxUploader. Toto vykonáme nasledovne:
<%@ Register TagPrefix="Prx" Namespace="PxUploader" Assembly="PxUploader" %>
Keď máme toto vykonané, môžeme v súbore *.aspx.cs s komponentou PxUploader pracovať nasledovne. Najprv si do komponenty PxUploader zadáme cestu do adresára, kde chceme odkladať súbory, cez property
UploadDir. Ďalej môžeme do property
IdUploadFile zadať Id súboru, ktoré bude pripojené k menu súboru ako prefix, pre lepšiu jedinečnú identifikáciu súboru. Cez property
MultiFiles, môžeme nastaviť, či pri výbere sa nám bude dať vybrať jeden alebo viac súborov, ktoré budú nahrávané na server. Viac príklad dole:
Uploader.UploadDir = @"uploads\data";
Uploader.IdUploadFile = 7777;
Uploader.MultiFiles = false;
Cez property
FileDescription a
FileExt, môžeme ovládať zadanie filtra vo formuláry OpenDialog, kde sa vykonáva výber súborov, podľa prípony súboru.
Uploader.FileDescription = "Image Files";
Uploader.FileExt = "*.jpg;*.png;*.gif;*.bmp;*.jpeg;*.zip;*.rar";
Property
SizeLimit slúži na zadanie maximálnej veľkosti súboru v bajtoch, ktorý môžete nahrať na server. Komponenta PxUploader umožňuje nahrať súbor na server až do velikosti 2GB. Viac príklad dole, ktorý s aktuálnym prednastaveným nám umožňuje nahrať súbor na server o maximálnej veľkosti 10MB:
Uploader.SizeLimit = 10485760;
Defaultná veľkosť súboru ktorý je možno nahrať na server, je v IIS nastavený na 4MB. Toto sa dá zmeniť cez nastavenie v súbore
web.config, v časti <system.web> v property
maxRequestLength. Viac príklad dole:
<system.web>
<httpRuntime executionTimeout="110" maxRequestLength="2097151"
requestLengthDiskThreshold="80" useFullyQualifiedRedirectUrl="false"
minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="5000"
enableKernelOutputCache="true" enableVersionHeader="true"
requireRootedSaveAsPath="true" enable="true" shutdownTimeout="90"
delayNotificationTimeout="5" waitChangeNotification="0"
maxWaitChangeNotification="0" enableHeaderChecking="true"
sendCacheControlHeader="true" apartmentThreading="false"/>
</system.web>
Pokiaľ by sme chceli na server nahrávať súbory do veľkosti 2GB, na IIS verzie 7 musíme ešte v súbore web.config nastaviť property
maxAllowedContentLength v sekcii <system.webServer>. Samozrejme tiež nezabudnúť upraviť property SizeLimit, a nastaviť tam veľkosť 2GB. Viac príklad dole:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2097151000" />
</requestFiltering>
</security>
</system.webServer>
Cez property
ButtonText, môžete zmeniť názov tlačítka komponenty PxUploader. Viac príklad dole:
Uploader.ButtonText = "Add Files...";
Obrázok komponenty PxUploader, pri nahrávaný súboru na server, vyzerá nasledovne, viac obrázok dole:
Udalosti komponenty PxUploader:
Komponenta PxUploader generuje dve udalosti (eventy). Sú to udalosti
CompleteUpload a
AllCompleteUpload. Udalosť
CompleteUpload je zavolaná po kompletnom nahraný súboru na server do adresára, ktorý bol stanovený v property UploadDir. V tele metódy ktorá je zavolaná, sú aj odovzdané premenné, ako názov súboru a cesta k súboru kde bol súbor uložený. Udalosť
AllCompleteUpload je zavolaná po udalosti
CompleteUpload, spravidla keď boli už všetky súbory prenesené na server. Definíciu jednotlivých udalostí, a ich pripojenie na metódy, nájdete popísané, viac príklad dole:
protected void Page_Load(object sender, EventArgs e)
{
Uploader.IdUploadFile = 7777;
Uploader.UploadDir = @"uploads\data";
Uploader.ButtonText = "Add Files...";
Uploader.CompleteUpload += new
PxUploader.CompleteUploadEventHandler(Uploader_CompleteUpload);
Uploader.AllCompleteUpload += new
PxUploader.AllCompleteUploadEventHandler(Uploader_AllCompleteUpload);
}
void Uploader_AllCompleteUpload(object sender, EventArgs e)
{
string a = "";
}
void Uploader_CompleteUpload(object sender, string FileName, string Path, EventArgs e)
{
string a = "";
}
Pokiaľ by sme chceli zmeniť farbu a tvar tlačítka komponenty PxUploader, môžeme tak urobiť cez property
ButtonImageUrl, do ktorej priradíme názov obrázku tlačítka aj s cestou kde sa nachádza. Viac príklad dole:
Uploader.ButtonImageUrl = "./images/AddFiles.png";
Uploader.ButtonWidth = 122;
Uploader.ButtonHeight = 34;
Výsledný obrázok komponenty PxUploader, pri nahrávaný súboru na server, so zmeneným tlačítkom, bude vyzerať nasledovne, viac obrázok dole:
Farbu progress baru môžeme meniť cez property
ProgressBarColor, zadaným buď textovej hodnoty farby, napr. "red", alebo zadaným číselnej hodnoty napr. "#FF9933 ". Viac príklad dole:
Uploader.ProgressBarColor = "orange";
Tu nájdete funkčný príklad s komponentou PxUploader, aj so zdrojovými kódmi.
Tento funkčný príklad na tomto webe, beží pod databázou MySQL 5.0.
Ďalšie články o Px Frameworku:
- PxWebQuery - komponenta pre prácu s databázou Oracle, MS SQL, MySQL, FireBird, Interbase
- PxSuperGrid - komponenta pre priame zobrazenie dát v tabuľke
- PxEdit - komponenta, ktorá slúži na editáciu dát, obdoba komponenty TextBox
- PxComboBox - komponenta, ktorá slúži na výber dát zo zoznamu, obdoba komponenty DropDownList
- PxCheckBox - komponenta, ktorá slúži na zaškrtnutie (select / unselect) hodnoty
- PxDbNavigator - komponenta pre prácu z komponentov PxWebQuery, posúvanie kurzora riadku a pod.
- PxJSDatePicker - komponenta pre zadanie dátumu, postavená na JavaScripte
- PxFlyComboBox - séria comboboxov, zapojených za sebou, vhodný pre prácu zo štruktúrovanými dátami (napr. výber kategórii a podkategórii)
- PxGreatRepeater - komponenta pre zadávanie dát, ktoré sa svojou štruktúrou opakujú, maximálny počet hodnôt je limitovaný
- PxChart - komponenta pre zobrazenie a prácu s grafmi
- PxFilterView - vizuálna komponenta pre filtrovanie obsahu dát tabuľky v komponente PxWebQuery
- PxUploader - komponenta na nahrávanie binárnych a textových súborov na server
- PxDbPopUp - komponenta pre načítanie dát z komponenty PxWebQuery a ich zobrazenie a výber v prehľadnej tabuľke
- PxCheckBoxList - komponenta pre zobrazenie a výber hodnôt zo zoznamu
- PxRadioButtonList - komponenta pre zobrazenie a výber hodnoty zo zoznamu
- PxLogin - komponenta pre autorizáciu a prihlásenie sa do aplikácie
- PxSpeedButton - varianta tlačítka s obrázkom a textom
- Načítanie dát z databázy Oracle, MS SQL, MySQL, FireBird, Interbase pomocou komponenty PxWebQuery
- Programové vkladanie nového riadku do databázy pomocou komponenty PxWebQuery
- Načítanie hodnôt z komponenty PxWebQuery cez cyklus while
- Vyhľadávanie riadku v komponente PxWebQuery, podľa zadanej hodnoty a názvu stĺpca v ktorom sa má vyhľadávať
- Procedúra ReOpen komponenty PxWebQuery a znovu načítanie dát do komponenty PxWebQuery
- Udalosti (Eventy) komponenty PxWebQuery
- Vytvorenie nového dynamického stĺpca(field) v tabuľke komponenty PxWebQuery
- Validácia, kontrola zadaných hodnôt prostredníctvom komponenty PxWebQuery a ostatných vizuálnych komponent(PxEdit, PxComboBox a atď.)
- Nastavenie jazykovej mutácie Px Frameworku
- Zistenie aktuálnej verzie Px Frameworku
Nie je zmyslom, tejto časti webu dopodrobna popisovať prácu s komponentami PxFrameworku, podrobný popis komponent
najdete v manuali, ktorý si môľete stiahnuť tu:
Download manual pre Px Framework