Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tu je návod, ako by ste to urobili vo webových formulároch ASP.NET pomocou ovládacieho prvku `ASP:Image` a SqldataSource:
1. Nastavenie databázy:
Uistite sa, že vaša databáza SQL má tabuľku s stĺpcom ukladaním obrazových údajov (zvyčajne ako „varbinary (max)`). Na identifikáciu obrázka (napr. ID) budete tiež potrebovať stĺpce.
2. Webové formuláre ASP.Net (.aspx):
`` aspx
<%@ Stránka jazyk ="C#" autoeventWireUp ="true" codeBehind ="yourpage.aspx.cs" inherits ="yourproject.yourPage" %>
VyberteCommand ="Vyberte imagedata, imageID z YouRamagetable, kde imageID =@ImageID">
`` `
3. Code-behind (.aspx.cs):
`` csharp
použitie systému;
Použitie System.data;
pomocou System.io;
menný priestor pre projekt
{
Verejná čiastočná trieda Pyšníka:System.web.ui.Page
{
Chránené void page_load (odosielateľ objektov, EventArgs e)
{
if (! ispostback)
{
vyskúšať
{
if (request.QueryString ["imageID"]! =null)
{
int imageID =int.parse (request.QueryString ["imageID"]);
DataTable dt =sqlDAtaSource1.Select (DataSourcessElectarguments.empty) ako DataTable;
if (dt! =null &&dt.rows.count> 0)
{
byte [] imageBytes =(bajt []) dt.rows [0] ["imagedata"];
if (imageBytes! =null &&imageBytes.length> 0)
{
Použitie (MemoryStream ms =new MemoryStream (imageBytes))
{
Image1.ImageUrl ="dáta:image/jpeg; base64," + convert.tobase64String (imageBytes); // v prípade potreby upravte 'image/jpeg'
}
}
}
inak
{
lblerror.text ="image nenájde.";
}
}
inak
{
lblerror.Text ="Image ID nie je poskytnuté.";
}
}
úlovok (výnimka ex)
{
lbLerror.Text ="Chyba načítanie obrázka:" + ex.message;
}
}
}
}
}
`` `
Vysvetlenie:
* `sqldatasource`: Týmto sa načíta obrazové údaje z databázy na základe `imageID` odovzdaného do reťazca dotazu. Nahraďte `" YourConnectionString "` pomocou vášho skutočného názvu stringu pripojenia z vášho `web.config`. Nahraďte „YourImagetable“ `s názvom tabuľky. Ak je vaša štruktúra tabuľky iná, upravte `selectCommand`.
* `ASP:Image`: Tento ovládací prvok zobrazuje obrázok.
* kód-behind: Kód načíta obrazové údaje z `sqldataSource`, prevádza ich na reťazec Base64 a nastaví ich ako` imageUrl` ovládacieho prvku `ASP:Image`. Zahrnutá je manipulácia s chybami. `Data:image/jpeg; base64,„ časť je rozhodujúca; Hovorí prehliadaču, že údaje sú základným obrazom JPEG kódom Base64. Zmeňte `image/jpeg` na príslušný typ MIME, ak sú vaše obrázky v inom formáte (napr.` Image/png`, `image/gif`).
* Manipulácia s chybami: Blok `Try-Catch` rieši potenciálne výnimky počas prístupu k databáze alebo spracovaní obrázkov. Chybové správy sa zobrazujú v štítku `lblerror`.
* dotazový reťazec: Kód očakáva, že v dotazovom reťazci URL sa odovzdá `imageID` (napr.
Nezabudnite nahradiť zástupné symboly, ako je „„ vašeconnectionstring “` a „yourimagetable“ `s vašimi skutočnými hodnotami. Tento komplexný príklad sa zaoberá spracovaním chýb a poskytuje robustnejšie riešenie. Zvážte tiež pridanie sofistikovanejšieho manipulácie s chybami a validáciou vstupov do výrobného prostredia.