Visualizzare immagine Byte[]

mercoledì 12 luglio 2006 - 23.20

DarioBovi Profilo | Newbie

Ciao a tutti ho un problema con il visualizzare un immagine salvata in Byte[] nel seguente modo in un db access2003 di cui il campo dove lo memorizzo è ole object

Byte[] FileByteArray= new Byte[FileUpload1.PostedFile.ContentLength];
Stream oggetto = FileUpload1.PostedFile.InputStream;
oggetto.Read(FileByteArray, 0, FileUpload1.PostedFile.ContentLength);


Dati a = new Dati(Server.MapPath(""));
a.Prova(FileByteArray);



metodo prova:


public void Prova(Byte[] a)
{

OleDbConnection conn = new OleDbConnection(path);
conn.Open();
DataSet ds = new DataSet();

try
{
OleDbCommand cm = new OleDbCommand("INSERT INTO Prova (Immagine) VALUES (?)", conn);
cm.Parameters.Add("Immagine", OleDbType.Binary).Value = a;

cm.ExecuteNonQuery();
}
finally
{
if (conn != null)
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
conn.Dispose();
}
}

}


adesso vorrei visualizzare in una pagina l'immagine salvata come faccio ???

ho provato cosi ma non funziona:

<%
Dati dati = new Dati(Server.MapPath(""));


Response.ContentType = "image/JPEG";


Response.BinaryWrite(dati.ProvaStampa());

%>



Qualcuno mi sa aiutare ? GRAZIE

Brainkiller Profilo | Guru

>Qualcuno mi sa aiutare ? GRAZIE

Devi leggere l'array di byte[] all'interno di un MemoryStream e poi scrivere quei byte sull'output da mandare al cliente:

Response.BufferOutput = true; Response.Clear(); Response.ContentType = "image/jpeg"; MemoryStream ms=new MemoryStream(); ms.WriteTo(Response.OutputStream); Response.Flush(); Response.End();

Questo da inserire nel Page_Load di una pagina esterna esempio GetImage.aspx?ID=4 dove 4 è l'ID del record contenente l'immagine. Tu a questo punto devi recuperare i byte[] caricarli nel MemoryStream già istanziato e il gioco e fatto.

In questo momento con il codice che ti ho riportato il MemoryStream è vuoto quindi non farà niente.

Per vedere l'immagine in seguito dovrai fare una cosa di questo tipo:

<img src="GetImage.aspx?ID=4" alt="" />

ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

DarioBovi Profilo | Newbie

PROVO GRAZIE MILLE
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5