Nello script #570 abbiamo visto come estrarre immagini, ma più in genere file binari, contenuti in un database.
Come promesso questa volta tocca all'inserimento, che si può effettuare con questo semplice script:
<%@ Page Language="c#" %> <%@ import Namespace="System" %> <%@ import Namespace="System.IO" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> void BtnUp_Click(Object s, EventArgs e) { int dimensione=inputFile.PostedFile.ContentLength; if (dimensione>0) { string db, strsql; Byte[] FileByteArray= new Byte[dimensione]; Stream StreamObject=inputFile.PostedFile.InputStream; StreamObject.Read(FileByteArray, 0, dimensione); db="immagini.mdb"; OleDbConnection myconnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Request.MapPath(db)); strsql="insert into Tabella1(descrizione, immagine, nome, size2, contenttype) values(?, ?, ?, ?, ?)"; OleDbCommand mycommand = new OleDbCommand(strsql, myconnection); mycommand.Parameters.Add("@descrizione", OleDbType.VarChar, 100).Value=descrizione.Text; mycommand.Parameters.Add("@immagine", OleDbType.Binary, dimensione).Value=FileByteArray; mycommand.Parameters.Add("@nome", OleDbType.VarChar, 100).Value=Path.GetFileName(inputFile.PostedFile.FileName); mycommand.Parameters.Add("@size2", OleDbType.Integer, 100).Value=dimensione; mycommand.Parameters.Add("@contenttype", OleDbType.VarChar, 100).Value=inputFile.PostedFile.ContentType; myconnection.Open(); mycommand.ExecuteNonQuery(); myconnection.Close(); messaggio.Text="OK!"; } else { messaggio.Text="Nessun file selezionato!"; } } </script> <form enctype="multipart/form-data" runat="server"> <strong>UTILIY PER L'UPLOAD DI IMMAGINI IN UN DATABASE IN FORMATO ACCESS</strong> <div id="Results" align="center" runat="server" /> <p align="center"> Seleziona un'immagine sul tuo HD quindi clicca su upload:<br /> <input id="inputFile" type="file" size="40" runat="server" /><br /> Descrizione: <asp:TextBox id="descrizione" runat="server" Width="259px"></asp:TextBox> <br /><asp:label id="messaggio" runat="server" Font-Bold="True"></asp:label></p> <input id="BtnUp" value="Upload!" runat="server" onserverclick="BtnUp_Click" /> </form>
Approfondimenti
#570 - Visualizzare un'immagine estratta da database con ASP.NET
https://www.aspitalia.com/script/570/Visualizzare-Immagine-Estratta-Database-ASP.NET.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.