ASP.NET - Cargar una imagen.jpg y mostrarla en un Htmlimage

   
Vista:

Cargar una imagen.jpg y mostrarla en un Htmlimage

Publicado por Fesioche (19 intervenciones) el 02/04/2010 13:51:23
Buenas

Mi problema ahora es como mostrar una imagen cargada con un el típico botón examinar en un elemento html img.
Tengo lo siguiente:
//Botón examinar
<input type="file" id="examinar_enlace" runat="server">

string ruta_enlace = examinar_enlace.PostedFile.FileName;

System.IO.Stream imagen_cargada = examinar_enlace.PostedFile.InputStream;

//Aquí me da error de tipo cast, me dice que no puede convertirlo
imagen_enlace = (HtmlImage)System.Drawing.Image.FromStream(imagen_cargada);

Tambien he probado:

imagen_enlace.Src = ruta_enlace;

pero no consigo que se muestre por pantalla.

Lo que quiero comprobar es que se muestra bien la imagen que cargo, porque posteriormente se guarda en una Base de Datos. Pero necesito saber como podría convertir tipo Image a HtmlImage

Salu2 y muchas gracias ;)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cargar una imagen.jpg y mostrarla en un Htmlima

Publicado por Fesioche (19 intervenciones) el 07/04/2010 18:38:21
Tras unos cuantos dias investigando he conseguido encontrar la solución!!!

Antes de nada, explicar porque lo anterior no funciona:

El atributo(función o lo que sea) "Src" de un control html img trabaja SÓLO con recursos, es decir, si no tienes la foto agregada al proyecto no la va a reconocer, esto es inviable porque lo que queremos es cargar dinámicamente una imagen que no tiene porqué estar en el proyecto, PERO he aquí el kit de la cuestión, lo que se hace es crear una carpeta llamada por ejemplo "Imagenes", se agrega como recurso al proyecto, y simplemente lo que se hace es, cuando se selecciona una imagen, se guarda en esa carpeta, se le asigna el valor Src = "Imagenes/nombre_foto" y funciona perfectamente.

Esta es una solución alternativa. Volviendo al problema original

He leído algo sobre añadir otra página.aspx que recibe como parámetro la foto y la devuelve convertida, esto se hace algo así como Src="pagina.aspx", donde pagina.aspx sería un recurso del proyecto, y lo que se encargaría de hacer es de convertir la imagen(no se exactamente muy bien como) y devolverla mediante un Response.Write();

Quien quiera investigar que profundice más a fondo.

Otra cosa, si lo que se quiere es guardar la imagen en la base de datos(como es mi caso) lo que realmente se guarda en la base de datos es la ruta completa a esa imagen, que previamente debe haber sido guardada en dicha carpeta! sino apuntaría a nada!
Y cuando se quiera leer, se lee el campo, que será un cadena de caracteres, se asocia el valor "Imagenes/nombre_foto_guardada" a Src, y funciona

OJO!!! cuando se asocia una ruta(path) al Src la barra que separa carpetas es "/" y no "\" esto lo comento porque para saber la ruta completa de un archivo se hace con Request.MapPath("nombre_archivo"); y cuando devuelve la ruta la devuelve con las barras "\", cosa que no reconoce Src.

Espero haber resuelto un poquito más este problema.
Gracias a los 76 que habeis visitado mi duda por haber intentado ayudar

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar