Anche se non è consigliabile memorizzare file binari come immagini in un database (l'ideale è memorizzare il file in una cartella sul disco fisso e tenere solo un riferimento ad esso in un campo di testo), il codice allegato può essere una buona fonte di studi perché viene mostrato come effettuare l'estrazione di dati in formato binaio da un database.
<%@ Import Namespace="System.IO"%> <%@ Import Namespace="System.Data"%> <%@ Import Namespace="System.Data.OleDb"%> <script runat="server" Language="C#"> void Page_Load(Object o,EventArgs e) { string db, strsql, idx; idx = Request.QueryString["id"]; if (idx == null) idx = "1"; db="immagini.mdb"; OleDbConnection myconnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Request.MapPath(db)); myconnection.Open(); strsql = "Select immagine,nome,contenttype FROM Tabella1 where id=" + idx; OleDbCommand mycommand = new OleDbCommand(strsql,myconnection); OleDbDataReader re = mycommand.ExecuteReader(); if (re.Read()) { Response.Clear(); Response.ClearContent(); Response.ContentType = re["contenttype"].ToString(); Response.BinaryWrite((byte[])re["immagine"]); } else Response.Write ("Nessuna immagine con questo ID"); re.Close(); myconnection.Close(); } </script>
Nell'allegato troverete il database Access con alcune immagini. Per visualizzarle dovremo passare come parametro l'id dell'immagine:
<img src="view_image.aspx?id=1">
In uno dei prossimi script vedremo come fare l'upload di immagini su database.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Load test di ASP.NET Core con k6
Short-circuiting della Pipeline in ASP.NET Core
Implementare il throttling in ASP.NET Core
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Eseguire una query su SQL Azure tramite un workflow di GitHub
I più letti di oggi
- Utilizzare Docker Compose con Azure App Service
- Modernizzare le applicazioni WPF e Windows Forms con Blazor
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2
- Steel Style CheckBox per Silverlight 4.0
- Utilizzare QuickGrid di Blazor con Entity Framework