Tento článek ukayuje možnosti třídy ImageHandler, která načítá obrázky z databáze a ty pak zobrazí na stránkce.
V ukázce je na stránce vytvořený ovládací prvek GridView který pak obrázky zobrazuje.
Analýza stránky: StateList2.aspx
Pro zobrazení obrázků z databáze je nutné použít speciální třídu ImageHandler, která je zodpovědná za načítání obrázků z databáze a
jejich zobrazení na webové stránce.Před použitím třídy ImageHandler je nutné modifikovat web.config.
Všechny požadavky na zobrazní jakéhokoliv obrázku na všech webových stránkách budou přesměrované na třídu ImageHandler
Jako první krok provedeme změnu nastavení souboru web.config v adresáři states. Adresář States obsahuje stránku StateList2.aspx a pro tuto stránku chceme použít třídu ImageHandler. To znamená, že načítání obrázků z databáze se bude provádět pouze na této stránce. Ostatní stránky v aplikaci budou načítat obrázky z disku.
Nastavíme načítání z databáze pouze pro obrázky formátu PNG.
if (upFile.HasFile)
{
HttpPostedFile myFile = upFile.PostedFile;
int nFileLen = myFile.ContentLength;
if (nFileLen > 1580000) // 1.5 MB
{
rfImageSize.IsValid = false;
rfImageSize.Visible = true;
return;
}
else
{
rfImageSize.IsValid = true;
rfImageSize.Visible = false;
}
string strFileName = Server.HtmlEncode(upFile.FileName);
srcImages.Insert();
}
Upload obrázků se provádí pomocí prvku FileUpload.
Následující řádka volá ovládací prvek AccessDataSource.
srcImages.Insert();
Parametr InsertQuery musí být nastavený aby došlo k uložení obrázku do databáze.