492 messaggi dal 08 gennaio 2007
Ciao, intendo che devi comunque estrarre il vettore di byte dall'immagine per storarlo nel campo del db e deserializzarlo quando lo estrai dal db per renderlo nuovamente leggibile. Il pattern che ho utilizzato un paio di volte è simile a questo:
protected void Btn_Carica_Click(object sender, EventArgs e)
{
int pesoDelFile=FileUpload1.PostedFile.ContentLenght;
int righeCoinvolte=-1;
using(SqlConnection conn=new SqlConnection(
      ConfigurationManager.ConnectionStrings["connectionstringinwebconfig"].ConnectionString)){
   SqlCommand command=conn.CreateCommand();
   command.CommandText=@"insert into miatabellaimmagini (bits, descrizione, proprietario, datacaricamento, sizeimmagine, mime) values (@imgbits, @descrizione, @proprietario, @data, @size, @mime";
command.Parameters.AddWithValue("@imgbits", GetImageBits(FileUpload1.PostedFile.InputStream, pesoDelFile));
command.Parameters.AddWithValue("@descrizione",txt_descriz.Text);
command.Parameters.AddWithValue("@proprietario", txt_propr.Text);
command.Parameters.AddWithValue("@data",DateTime.Now);
command.Parameters.AddWithValue("@size",pesoDelFile);
command.Parameters.AddWithValue("@mime",FileUpload1.PostedFile.ContentType);
// aggiungere i blocchi try e catch 
conn.Open();
righeCoinvolte=command.ExecuteNonQuery();
conn.Close()
}
// feedback
string msg=(righeCoinvolte != -1 ? "Operazione terminata con successo" : "Si è verificato un errore");
string jscript=String.Format("alert('{0}');",msg);
ClientScript.RegisterStartupScript(this.GetType(), "Alert", jscript,true);
return;
}
// Con questa serializziamo 
private byte[] GetImageBits(Stream fs, int size){
byte[] img= new byte[size];
fs.Read(img, 0,size);
return img;
}


HTH
6 messaggi dal 26 ottobre 2005
Io avevo letto da qualche parte che era possibile pubblicare direttamente il campo del DB senza usare la serializzazione (ma sicuramente era una cavolata...)
Azz ... devo mettermi sotto a studiare ...
Grazie VMark.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.