none
Visualizar imagen guardada en el servidor RRS feed

  • Pregunta

  • Hola

    Intento visualizar, en tiempo de ejecucion, una imagen colocada previamente en el servidor con fileupload 

    Esto No funciona

      Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Dim path As String = Server.MapPath("~/UploadedImages/")
            Dim aux As String = path & "prueba.jpg"
            Image1.ImageUrl = (aux)
        End Sub

    Y esto SI funciona

      Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Image1.ImageUrl = ("~/UploadedImages/prueba.jpg")
        End Sub

    Yo calculo que el problema es que en el primer caso se trata de un strng y el segundo es una URL. Como selecciono  cual imagen quiero ver en forma dinamica el segundo caso no me sirve-

    ¿Como pedo solucionarlo?

    Gracias


    Pedro López

    martes, 12 de enero de 2016 0:11

Respuestas

  • hola

    >>Yo calculo que el problema es que en el primer caso se trata de un strng y el segundo es una URL

    En el primer caso estas asignado el control imagen una ruta a una carpeta fisica dento del servidor, si pones un breakpoint en el codigo podras inspeccionar la variable "path" y notar que esta hace referencia a una carpeta

    Desde el cliente no puede acceder a una carpeta fisica en el servidor, por eso el primer codigo no funciona, debes quitar el Server.MapPath()

    En cambio el control imagen espera una url y eso es lo que requiere

    Nota: no se porque defines las llaves en el codigo al asignar la propiedad ImageUrl, pero estan de mas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 12 de enero de 2016 0:50

Todas las respuestas

  • hola

    >>Yo calculo que el problema es que en el primer caso se trata de un strng y el segundo es una URL

    En el primer caso estas asignado el control imagen una ruta a una carpeta fisica dento del servidor, si pones un breakpoint en el codigo podras inspeccionar la variable "path" y notar que esta hace referencia a una carpeta

    Desde el cliente no puede acceder a una carpeta fisica en el servidor, por eso el primer codigo no funciona, debes quitar el Server.MapPath()

    En cambio el control imagen espera una url y eso es lo que requiere

    Nota: no se porque defines las llaves en el codigo al asignar la propiedad ImageUrl, pero estan de mas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 12 de enero de 2016 0:50
  • Gracias Leandro esto si funciona

     Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Dim aux As String = "~/UploadedImages/prueba.jpg"
            Image1.ImageUrl = aux
        End Sub

    Ahora surge otro asunto. Si dentro de la misma pagina y usando el fieleunload cargo otra imagen y la guardo con el mismo nombre la acción del button2 mantiene la imagen anterior a menos que active el explorador y autorice el reenvio del formulario. ¿hay alguna manera de hacer esto con codigo y sin que el usuario lo note??

    Gracias


    Pedro López

    martes, 12 de enero de 2016 1:20
  • >>Si dentro de la misma pagina y usando el fieleunload cargo otra imagen y la guardo con el mismo nombre la acción del button2 mantiene la imagen anterior a menos que active el explorador y autorice el reenvio del formulario

    es porque seguro la imagen esta en el cache del browser, si realizas un F5 en el browser para que este se actualice seguro ira al servidor a recuperar la actualizacion

    imagino que podrias intentar luego de realizar el upload de la imagen deberias realizar un redirect a la misma pagina para que esta se recargue por completo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 12 de enero de 2016 2:06