none
Presentar imagen luego de obtener dirección desde Mysql RRS feed

  • Pregunta

  • Hola como están, por favor me podrían guiarme con lo siguiente:

    Recupero información desde Mysql, y entre los campos que obtengo esta la dirección en donde guardo la imagen y lo tengo así:

    imgProducto.ImageUrl=mo.Tables[0].Rows[0][13].ToString();

    Coloque un punto de interrupción y me fije que se obtiene la dirección normal, pero no se visualiza.

    Gracias por sus opiniones.

    martes, 7 de abril de 2015 21:35

Respuestas

  • OK

    Bueno vamos por partes diria "Jack"... 

    1) La ruta... es fisica! y debes utlizar una ruta relativa al sitio web
    Aqui tienes que tener en cuenta que estas dentro de un app web, es decir no existe directtorios dentro de un disco C sino en una ubicacion a partir del directorio raiz de la app

    Ejemplo:
        http://localhost:1234/carpeta1/imagen1.jpg
    alli supuestamente debe existir dentro del directorio raiz una carpeta1 y alli dentro un archivo llamado imagen1.jpg
    FIsicamente? no se... si esta en el C o D? depende de donde se configuro la carpeta raiz para el directorio de la app web (lo que se configura en el IIS) o en tu maquina de desarrollo la carpeta donde esta el proyecto web 
    Se entiende? Para eso te puede ayudar este enlace, mas abajo tambien lo dejo

    Tienes rutas absolutas al sitio raiz , relativas al sitio raiz o al documento actual (dale una mirada al enlace)

    Vamos en tu caso particular,... como ejemplo
    Veo que tienes esta cadena
    C:\Users\Dell\Documents\Visual Studio 2012\Projects\CentroNaturista - copia\CentroNaturista\Uploads\Diagrama de los modulos.jpg

    Supongo que la carpeta de tu app esta aqui
    C:\Users\Dell\Documents\Visual Studio 2012\Projects\CentroNaturista - copia\CentroNaturista

    Entonces... esta carpeta que nos queda:
        \Uploads\Diagrama de los modulos.jpg

    Seria la carpeta donde esta el archivo de imagen no? (estoy suponiendo me puedo equivocar en las carpetas)
    Entonces en la url seria asi

     http://localhost:puerto/Uploads/Diagrama de los modulos.jpg

    Bueno ... hasta aqui todo bien? Varios temas para seguir o investigar

    1. ¿Como obtenes la cadena de ubicacion?
      Ya que no deberias guardar la ruta fisica ya que es de tu maquina, debe guardarse una relativa. Hay que ver como  la obtenes
    2. ¿El nombre del archivo?
      Veo que tienes espacios en blanco.. si bien funciona en la mayoria de los navegadores modernos, seria mas adecuado que no los tenga (mas user-friendly y los buscadores te amaran)

    Te puede ayudar estos enlaces

    Comentanos algun tema particular o ya queda de tu lado investigar mas en uno y produndizamos en otro post.

    Espero que te sirva de ayuda o guia


    Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja

    • Marcado como respuesta feec miércoles, 8 de abril de 2015 1:27
    martes, 7 de abril de 2015 22:33
  • >>En la base de datos lo tengo así en el campo directiroimg

    no tiene que guardar una ruta fisica cuando guardas el nombre de un archivo

    solo guarda el nombre, la ruta debes configurarla y armarla en runtime

    en el campo solo guarda Diagrama de los modulos.jpg y luego armas la ruta

    imgProducto.ImageUrl= string.Format("~/imagenes/{0}", mo.Tables[0].Rows[0][13].ToString());

    se supone que las imagenes que subes al sitio deberian estar en una misma carpeta dentro de la estructura del mismo

    en este caso puse a modo de ejemplo la carpeta "imagenes"

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta feec miércoles, 8 de abril de 2015 1:27
    martes, 7 de abril de 2015 22:36

Todas las respuestas

  • Hola feec

    1) Podrias indicarnos con un ejemplo que tienes/guardas en;

    • mo.Tables[0].Rows[0][13].ToString();

    2) Ademas seria bueno conocer su tu app web en desarrollo tieen un directorio virtual

    • Por ejemplo utiliza http://localhost:puerto/DirectorioVirtual
    • O simplemente http://localhost:puerto

    3) En que momento de la pagina asignas el valor a imgProducto.ImageUrl (Load?)

    Esperamos tus respuestas para ayudarte mejor... 


    Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja

    martes, 7 de abril de 2015 21:40
  • Gracias por responder.

    1) Podrías indicarnos con un ejemplo que tienes/guardas en;

    En la base de datos lo tengo así en el campo directiroimg

    C:\Users\Dell\Documents\Visual Studio 2012\Projects\CentroNaturista - copia\CentroNaturista\Uploads\Diagrama de los modulos.jpg

    imgProducto.ImageUrl=mo.Tables[0].Rows[0][13].ToString();

    2) Ademas seria bueno conocer su tu app web en desarrollo tieen un directorio virtual

    Cuando ejecuto la aplicación se presenta así:

     http://localhost:puerto

    3) En que momento de la pagina asignas el valor a imgProducto.ImageUrl

    Luego de seleccionar del gridview el id, llamo al metodo:

      protected void buscar()
            {

           proceso de recuperación.

             }

    Gracias por su opinión.




    • Editado feec martes, 7 de abril de 2015 21:54
    martes, 7 de abril de 2015 21:54
  • OK

    Bueno vamos por partes diria "Jack"... 

    1) La ruta... es fisica! y debes utlizar una ruta relativa al sitio web
    Aqui tienes que tener en cuenta que estas dentro de un app web, es decir no existe directtorios dentro de un disco C sino en una ubicacion a partir del directorio raiz de la app

    Ejemplo:
        http://localhost:1234/carpeta1/imagen1.jpg
    alli supuestamente debe existir dentro del directorio raiz una carpeta1 y alli dentro un archivo llamado imagen1.jpg
    FIsicamente? no se... si esta en el C o D? depende de donde se configuro la carpeta raiz para el directorio de la app web (lo que se configura en el IIS) o en tu maquina de desarrollo la carpeta donde esta el proyecto web 
    Se entiende? Para eso te puede ayudar este enlace, mas abajo tambien lo dejo

    Tienes rutas absolutas al sitio raiz , relativas al sitio raiz o al documento actual (dale una mirada al enlace)

    Vamos en tu caso particular,... como ejemplo
    Veo que tienes esta cadena
    C:\Users\Dell\Documents\Visual Studio 2012\Projects\CentroNaturista - copia\CentroNaturista\Uploads\Diagrama de los modulos.jpg

    Supongo que la carpeta de tu app esta aqui
    C:\Users\Dell\Documents\Visual Studio 2012\Projects\CentroNaturista - copia\CentroNaturista

    Entonces... esta carpeta que nos queda:
        \Uploads\Diagrama de los modulos.jpg

    Seria la carpeta donde esta el archivo de imagen no? (estoy suponiendo me puedo equivocar en las carpetas)
    Entonces en la url seria asi

     http://localhost:puerto/Uploads/Diagrama de los modulos.jpg

    Bueno ... hasta aqui todo bien? Varios temas para seguir o investigar

    1. ¿Como obtenes la cadena de ubicacion?
      Ya que no deberias guardar la ruta fisica ya que es de tu maquina, debe guardarse una relativa. Hay que ver como  la obtenes
    2. ¿El nombre del archivo?
      Veo que tienes espacios en blanco.. si bien funciona en la mayoria de los navegadores modernos, seria mas adecuado que no los tenga (mas user-friendly y los buscadores te amaran)

    Te puede ayudar estos enlaces

    Comentanos algun tema particular o ya queda de tu lado investigar mas en uno y produndizamos en otro post.

    Espero que te sirva de ayuda o guia


    Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja

    • Marcado como respuesta feec miércoles, 8 de abril de 2015 1:27
    martes, 7 de abril de 2015 22:33
  • >>En la base de datos lo tengo así en el campo directiroimg

    no tiene que guardar una ruta fisica cuando guardas el nombre de un archivo

    solo guarda el nombre, la ruta debes configurarla y armarla en runtime

    en el campo solo guarda Diagrama de los modulos.jpg y luego armas la ruta

    imgProducto.ImageUrl= string.Format("~/imagenes/{0}", mo.Tables[0].Rows[0][13].ToString());

    se supone que las imagenes que subes al sitio deberian estar en una misma carpeta dentro de la estructura del mismo

    en este caso puse a modo de ejemplo la carpeta "imagenes"

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta feec miércoles, 8 de abril de 2015 1:27
    martes, 7 de abril de 2015 22:36