Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/07/2008, 10:19
Avatar de HenrydeSousa
HenrydeSousa
 
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 20 años, 5 meses
Puntos: 2
Respuesta: De byte[] a Imagen

Hola, acá te dejo un link que encontré hace tiempo intentanto hacer lo mismo pero para una Pocket PC:
http://www.mygnet.net/articulos/c_sh..._de_datos.1161

Y este el code que utilizo para guardar una imagen en un arreglo de bytes en la BD y luego para exportarlo a una imagen.


Código PHP:
            string sBase64 "";


            
//-----------------------------------------------------------------------
            //asi lo guardo
            
string camino;
            
camino Path.Combine(AppPath"CapturedSignature1.bmp");


            
System.IO.FileStream fs = new System.IO.FileStream(caminoSystem.IO.FileMode.OpenOrCreateSystem.IO.FileAccess.Read);            
            
BinaryReader br = new BinaryReader(fs);
            
byte[] MyData = new byte[fs.Length];            
            
br.Read(MyData0MyData.Length);

            
//Guardamos el arreglo de bytes 
            
sBase64 Convert.ToBase64String(MyData);

            
fs.Close();
            
fs null;
            
br null;
            
MyData null;

            
//Aquí guardo el arreglo de bytes en la base de datos.

            
File.Delete(camino);
            
// -------------------------------------------------------------------
            
MessageBox.Show("Datos guardados satisfactoriamente""Mensaje del Sistema"MessageBoxButtons.OKMessageBoxIcon.NoneMessageBoxDefaultButton.Button1);

            
//----------------------------------------------------------------------- 

Código PHP:
            /*Guardamos en una cadena la ruta de la imagen donde se descodificará. Es decir, despues de este proceso, estara guardada en el disco duro del servidor*/
            
string camino;
            
camino Path.Combine(AppPath"CapturedSignature1.bmp");
            
            
//Utilizamos un FileStream para crear un nuevo archivo temporal 
            
FileStream fs = new FileStream(caminoFileMode.CreateNewFileAccess.Write);

            
//Un BinaryWriter para escribir la imagen descodificada 
            
BinaryWriter bw = new BinaryWriter(fs);

            
//Un arreglo de Bytes para descodificar la imagen 
            
byte[] bytes;
            
bytes Convert.FromBase64String(sBase64);

            
//Escribimos la imagen 
            
bw.Write(bytes);

            
//Liberamos memoria 
            
fs.Close();
            
bytes null;
            
bw null;
            
sBase64 null
Espero te sirva.
Saludos...