none
Abrir documento de servidor de archivos desde asp RRS feed

  • Pregunta

  • Buen día a todos.

    Espero que alguien me pueda orientar con la duda que tengo.

    Estoy desarrollando una aplicación web con C#, en la cual, tengo un Gridview enlazado con información de una Base de Datos en SQL Server. Muchos de los campos que coloco dentro del gridview son de tipo HyperLinkField, ya que esos campos contienen enlaces hacia documentos dentro del servidor de archivos del trabajo.

    La propiedad DataNavigateUrlFields contiene dichos campos con las direcciones de los documentos. El siguiente es un ejemplo de la URL de un documento como se encuentra guardada en la Base de Datos : \\192.168.1.240\Archivos\Documento1.pdf.

    Al pasar al entorno de pruebas y productivo, dicho campo me habilita el enlace hacia el archivo, el problema es que al dar clic sobre el enlace, no realiza acción alguna. Dejando el cursor sobre el enlace, la barra de estado me marca lo siguiente: file:\\192.168.1.240\Archivos\Documento1.pdf. Al copiar el enlace tal y como se muestra en otra pestaña, tranquilamente abre el documento.

    Ojalá y alguien pueda ayudarme con este problema que me surgió.

    Saludos


    martes, 23 de enero de 2018 14:49

Respuestas

  • hola

    >>El siguiente es un ejemplo de la URL de un documento como se encuentra guardada en la Base de Datos : \\192.168.1.240\Archivos\Documento1.pdf.

    esa no es una url, es una ruta fisica a una carpeta compratida en la pc, una url seria

    http://sitio/archivos/documento1.pdf

    [ASP.NET] Grabar Archivo en base de datos

    analiza la primer parte del articulo, alli explico como puedes devolver en el response el archivo tomandolo de una carpeta

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 23 de enero de 2018 17:35
  • Hola Leandro, intenté con tu metódo, pero no es lo que necesitaba, ya que a lo que entendí, haces referencia a documentos que se encuentran dentro del directorio del servidor web.

    Lo que yo necesitaba era el visualizar documentos que se encuentran dentro del servidor de archivos de mi red, afortunadamente encontré la forma de realizar esta acción, la cual la encontré en la respuesta de monkyta en el siguiente link conectar desde el servidor ASP a un servidor de ficheros.

    Resumiendo la respuesta, lo que hice fue lo siguiente:

    1. Crear un directorio vacio dentro de la raíz del proyecto
    2. Una vez publicado el proyecto, dentro del IIS Manager, hay que ir al directorio de la aplicación
    3. Sobre el directorio creado desde el proyecto, damos clic derecho y damos clic en "Agregar Directorio Virtual"
    4. Solo resta indicar un Alias, la ruta del directorio donde se encuentra el archivo y si requiere credenciales, indicarlas.
    5. Esta parte no viene en el enlace al que hago referencia. Del lado de la base de datos, las rutas deben incluir el directorio como si se encontrara dentro de la carpeta que creamos, junto con la ruta de dicho archivo. Ejemplo:
    • La carpeta que creé en el proyecto se llama Archivos, la dirección del archivo que necesito es la siguiente: \\192.168.1.240\Archivos\Documento1.pdf.
    • La ruta virtual que agregué en mi carpeta fue \\192.168.1.240\Archivos\
    • En mi base de datos, la ruta queda del siguiente modo "Archivos/Documento1.pdf."
    • Y con esto abre sin problemas, siempre y cuando el proyecto ya se encuentre publicado en el servidor.

    Espero y le pueda servir a alguien dicha información, de igual manera, muchas gracias por la ayuda y por tu tiempo-

    Saludos.

    jueves, 25 de enero de 2018 18:27

Todas las respuestas

  • hola

    >>El siguiente es un ejemplo de la URL de un documento como se encuentra guardada en la Base de Datos : \\192.168.1.240\Archivos\Documento1.pdf.

    esa no es una url, es una ruta fisica a una carpeta compratida en la pc, una url seria

    http://sitio/archivos/documento1.pdf

    [ASP.NET] Grabar Archivo en base de datos

    analiza la primer parte del articulo, alli explico como puedes devolver en el response el archivo tomandolo de una carpeta

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 23 de enero de 2018 17:35
  • Hola. Muchas gracias, deja reviso el articulo y esperemos y me funcione. Saludos
    jueves, 25 de enero de 2018 15:25
  • Hola Leandro, intenté con tu metódo, pero no es lo que necesitaba, ya que a lo que entendí, haces referencia a documentos que se encuentran dentro del directorio del servidor web.

    Lo que yo necesitaba era el visualizar documentos que se encuentran dentro del servidor de archivos de mi red, afortunadamente encontré la forma de realizar esta acción, la cual la encontré en la respuesta de monkyta en el siguiente link conectar desde el servidor ASP a un servidor de ficheros.

    Resumiendo la respuesta, lo que hice fue lo siguiente:

    1. Crear un directorio vacio dentro de la raíz del proyecto
    2. Una vez publicado el proyecto, dentro del IIS Manager, hay que ir al directorio de la aplicación
    3. Sobre el directorio creado desde el proyecto, damos clic derecho y damos clic en "Agregar Directorio Virtual"
    4. Solo resta indicar un Alias, la ruta del directorio donde se encuentra el archivo y si requiere credenciales, indicarlas.
    5. Esta parte no viene en el enlace al que hago referencia. Del lado de la base de datos, las rutas deben incluir el directorio como si se encontrara dentro de la carpeta que creamos, junto con la ruta de dicho archivo. Ejemplo:
    • La carpeta que creé en el proyecto se llama Archivos, la dirección del archivo que necesito es la siguiente: \\192.168.1.240\Archivos\Documento1.pdf.
    • La ruta virtual que agregué en mi carpeta fue \\192.168.1.240\Archivos\
    • En mi base de datos, la ruta queda del siguiente modo "Archivos/Documento1.pdf."
    • Y con esto abre sin problemas, siempre y cuando el proyecto ya se encuentre publicado en el servidor.

    Espero y le pueda servir a alguien dicha información, de igual manera, muchas gracias por la ayuda y por tu tiempo-

    Saludos.

    jueves, 25 de enero de 2018 18:27