2012-03-15 18 views
18

Si uno visita jQuery-File-Upload Demo page e intenta cargar una imagen, y luego observará la respuesta JSON, notará que se devuelve una vista previa de una imagen cargada en un formato:Convirtiendo imagen en datos: image/png; base64 para la página web disaplay

"thumbnail_url":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAI... 

Por lo que tengo entendido, las imágenes se transforman en cadenas y se envían nuevamente al cliente.

¿Cómo puedo hacerlo en C# para imponer el back-end de ASP.NET para la misma demostración?

+0

Recuerdo una respuesta a una pregunta que podría ser útil para usted desde hace un tiempo: http://stackoverflow.com/a/8706618/1073107 – dash

+0

@dash - fantástico. Publicarlo como una respuesta. Es solo como dos líneas de código. ¡Muchas gracias! –

Respuesta

31

Recuerdo haber leído una respuesta a una pregunta hace un tiempo por el competente competente_tech y pensando "¡Nunca supe que podrías hacer eso!"

In that answer is an example acerca de cómo configurar el src de una imagen ASP.Net para que sea la información codificada en base64 que se ve arriba.

Es efectivamente se reduce a fijar el src de una ASP: Control de la imagen de la siguiente manera:

imgCtrl.Src = @"data:image/gif;base64," + Convert.ToBase64String(File.ReadAllBytes(Server.MapPath(@"/images/your_image.gif"))); 

Recuerde cambiar el tipo de contenido en función de la imagen!

+4

Para aquellos que puedan tropezar con este hilo: si su imagen se genera como un flujo de memoria, puede hacer algo como: MemoryStream ms = new MemoryStream(); /* {Luego, algunos códigos para completar esa secuencia de imágenes} */ String base64String = Convert.ToBase64String (ms.ToArray()); Y luego use la respuesta como se describe arriba. –

Cuestiones relacionadas