2010-04-15 34 views

Respuesta

19

Tal vez Inline Images with Data URLs idea?

imágenes Inline utilizan los datos esquema URI para incrustar imágenes directamente dentro web páginas. Según lo definido por RFC 2397, los datos URI están diseñados para insertar datos pequeños como datos "inmediatos", como si estuvieran referenciados externamente. El uso de imágenes en línea guarda solicitudes HTTP sobre objetos con referencia externa.

System.Drawing.Image image = GetImageFromSomewhere(...); 

byte[] imageData = ImageToByteArray(image); 
string imageBase64 = Convert.ToBase64String(imageData); 
string imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64); 

y luego en algún lugar de la página:

<img src= "<%= ImageSrcBytes %>" /> 

Aparentemente, este va a trabajar para Opera 7.2+, Firefox, Safari, Netscape, Mozilla y IE8 + (IE8 hasta 32kb).

Para una versión anterior de IE hay una solución alternativa: MHTML.

El ejemplo de cómo hacerlo es here.

+0

increíble, gracias, funcionó de maravilla. Mucho aprecio – Webcognoscere

+1

Esto no parece funcionar en Internet Explorer 7/8, cualquier sugerencia – Webcognoscere

0

El navegador utiliza el atributo src para emitir una solicitud por separado al servidor, para obtener el contenido de la imagen. No muestra los bytes en el src como la imagen misma.

Por lo tanto, tendrá que recordar esos bytes (¿sesión?) Y usar un controlador (la URL que coloca en el atributo src) para permitir que el navegador los solicite.

Cuestiones relacionadas