2009-09-04 24 views
5

Tengo un objeto del tipo IMAGEN que contiene la imagen. Quería mostrar la imagen en la vista MVC junto con otros controles. La forma en que puedo pensar es almacenar temporalmente la imagen en el disco y configurar el control src de img. Estoy seguro de que habría una mejor manera de hacerlo.Mostrar imagen desde el objeto IMAGEN en MVC

Respuesta

2

Puede escribir un controlador para transmitir imágenes y luego hacer referencia al streamer en su etiqueta de imagen. Por ejemplo, tiene http://myapp/media.ashx?imageId=10 para ver la imagen. En su página hace referencia como: <img src="http://myapp/media.ashx?imageId=10"/>.

De esta manera no tiene que escribir temporalmente en el disco.

1

Puede publicar su imagen como el contenido de respuesta de una acción del controlador. esta respuesta tendrá el tipo de imagen como tipo de contenido.

4

La manera más fácil de hacer esto en mi opinión sería devolver un FileStreamResult desde su controlador.

public FileResult GetImage() 
{ 
    string path = "c:\images\image.jpg"; 
    return new FileStreamResult(new FileStream(path, FileMode.Open), "image/jpeg"); 
} 

Esta es una implementación simple, pero le da un punto de partida para lo que está intentando hacer.

4

Si está interesado en la implementación de la respuesta @Giovanni's, entonces tengo algún código que pueda ser útil a partir de una respuesta pasada que presenté here. La clase ImageHandler es un ejemplo de lo que desearía implementar en el caso de Giovanni.

0

Puede convertir la imagen a cadena Base64 y asignarla al atributo src de la etiqueta img.

<img alt="Embedded Image" width="168" height="32" 
    src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgA..." /> 

http://www.greywyvern.com/code/php/binary2base64