Salvare un'immagine su database da una pagina ASP.NET

di Andrea Zani, in UserScript, ASP.NET, System.IO,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi