Aquí :
Guardar Imagen en BLOB/VARBINARY(MAX)
Resulta que la idea principal de esto era leer dicha imagen del campo VARBINARY(MAX), serializarlo a Base64 y exponerlo en un método de un Web Service. Hasta ahí llegaba la funcionalidad de lo que estabamos haciendo. Sin embargo la parte que iba consumir el Web Service nos preguntó cómo hacerle para deserializar dicho string y mostrar la imagen en pantalla sin pasar por guardar los bytes en un archivo y abrirlo con un Image.
Parece bastante obvio y seguramente para muchos lo será pero no está demás exponer lo siguiente:
C#
1: // Convertimos el string codificado en base64 a bytes
2: byte[] bytFoto = Convert.FromBase64String(strFoto);
3:
4: // Y creamos un stream en memoria que accedera los bytes
5: MemoryStream msFoto = new MemoryStream(bytFoto, 0, bytFoto.Length);
6:
7: // De esta manera podemos crear una imagen a partir de los bytes
8: Image imgFoto = Image.FromStream(msFoto);
9:
10: // Y desplegarla en la pantalla en hipotético picturebox
11: pictureBox1.Image = imgFoto;
12:
13: // o grabarla en disco con:
14: //imgFoto.Save("C:\temp\foto_ws.jpg", ImageFormat.Jpeg);
15:
16: msFoto.Close();
17:
Sencillo tal vez, pero se me hizo interesante hacerlo y quise exponerlo aquí.
1 comentario:
hola mucgas gracias por tu informacion es muy interesante, pero no se si podrias hacer u ejemplo completo, soy nuevo en esta area
Publicar un comentario