Foros del Web » Programando para Internet » ASPX (.net) »

Servidores

Estas en el tema de Servidores en el foro de ASPX (.net) en Foros del Web. El servidor de mi empresa tiene seguridad, solo con el usuario y con contraseña puedes subir archivos. Pero puedes verlos y descargalos si escribes la ...
  #1 (permalink)  
Antiguo 24/10/2008, 11:11
 
Fecha de Ingreso: agosto-2008
Mensajes: 112
Antigüedad: 15 años, 8 meses
Puntos: 0
Servidores

El servidor de mi empresa tiene seguridad, solo con el usuario y con contraseña puedes subir archivos.
Pero puedes verlos y descargalos si escribes la ruta del archivo en el explorador.
Estoy haciendo una pag aspx en la que quiero mostrar el contenido de una carpeta de mi servidor, pero me da error al acceder, y de hecho si yo solo escribo la ruta de la carpeta me sale "File not found"

Alguien sabe como solucionar esto?

Gracias!
  #2 (permalink)  
Antiguo 27/10/2008, 03:17
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Servidores

Cuando escribes la ruta de la carpeta el servidor te mostrará el archivo que esté configurado por defecto en el servidor. Normalmente suelen ser index.htm, index.aspx, default.aspx, etc.

Si lo que quieres es que se muestren todos los archivos tienes que habilitar en el servidor la opción de que se muestre el listado de directorios, aunque esto no te lo recomiendo.

Por eso, si en la carpeta no está habilitada la opción de mostrar el listado de directorios y no existe ninguno de los archivos configurados por defecto te mostrará el error 404, archivo no encontrado.

Te recomiendo que te crees una página index.aspx en ese directorio y que sea ésta la que se encargue de mostrar, en un datagrid por ejemplo, los archivos que contiene el directorio en concreto. Utiliza System.IO para ello.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 28/10/2008, 03:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 112
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Servidores

Muchas gracias por tu respuesta!
Estoy usando System.IO, mira te dejo el código para que veas
Código:
protected void Page_Load(object sender, EventArgs e)
    {
        try{
            Response.Write("<h2 align=center style='font-family:verdana;'>Listar archivos de un directorio</h2>");           
            string[] lista1;
            lista1 = System.IO.Directory.GetFiles("C:/Cosas/");
            System.Collections.IEnumerator lista2;
            lista2 = lista1.GetEnumerator();
            int i = lista1.Length;
            Response.Write("<table align=center border=0'>");
            Response.Write("<tr style='font-family:verdana; font-size:10pt; font-weight:bold; text-align:center;background-color:black; color:white;'><td>");
            Response.Write("</td></tr>");
            Response.Write("<tr style='font-family:verdana; font-size:10pt; text-align:center;background-color:blue; color:white;'><td>");
            
            Response.Write("Número de archivos: <b>" + i + "</b>");
            Response.Write("</td></tr>");
            while (lista2.MoveNext()){
                Response.Write("<tr style='font-family:verdana; font-size:10pt; text-align:left;background-color:Gainsboro; color:black;'><td>");
                Response.Write(lista2.Current);
                Response.Write("</tr></td>");
            }
            Response.Write("</table>");
        }
        catch{
            Response.Write("<p align=center style='font-family:verdana; font-size:10pt; color:red;'>Error<b>");
       
            Response.End();
        }
        Response.End();
    


    }
  #4 (permalink)  
Antiguo 28/10/2008, 04:07
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Servidores

¿Cómo se llama el archivo en el que está este código? ¿El error de archivo no encontrado te aparece simplemente al intentar acceder a la página o al listar los archivos del directorio C:\Cosas?
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #5 (permalink)  
Antiguo 28/10/2008, 04:10
 
Fecha de Ingreso: agosto-2008
Mensajes: 112
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Servidores

El listado de archivos de Cosas me lo muestra, lo que significa que el código funciona.
Mi pregunta era, que le tengo que añadir a ese código para que funcione en el servidor, me dijiste que debía meterlo en la carpeta que quería mostrar, pero he de añadir algo más?

Gracias!
  #6 (permalink)  
Antiguo 28/10/2008, 05:08
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Servidores

Deberías asegurarte que tienes permisos de lectura en el directorio que quieres consultar del servidor. Si tienes un hosting compartido olvídate de consultar cualquier cosa que esté más arriba del directorio físico de sitio (si puedes yo me cambiaría de empresa de hosting).

Comprueba también que en el nombre del archivo es uno de los valores por defecto del servidor. Prueba a renombrarlo como index.aspx, default.aspx, home.aspx. Si no funciona contacta con los administradores del sitio para que te habiliten como documento por defecto el nombre de tu archivo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #7 (permalink)  
Antiguo 28/10/2008, 05:45
 
Fecha de Ingreso: agosto-2008
Mensajes: 112
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Servidores

Si te digo la verdad no conozco la seguridad que tengo en el servidor, sé que sin estar logeado puedo ver archivos poniendo la ruta del archivo, y como te dije solo carpetas nada.
Entonces si lo renombro como me has dicho la ruta que tengo puesta en el GetFiles(), cual debería ser? La ruta en la que está el aspx?

GRacias!
  #8 (permalink)  
Antiguo 28/10/2008, 06:18
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Servidores

recuerda que estas en el server así que debes mapearlo ayudandote de Server.MapPath en tu ruta.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #9 (permalink)  
Antiguo 28/10/2008, 07:14
 
Fecha de Ingreso: agosto-2008
Mensajes: 112
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Servidores

PeterPay, muchisismas gracias por todo, sé programar pero no conozco las clases que se usan en C#.
Como debo usar "Server.MapPath " en el GetFiles. Entiendo que con ese método obtengo la ruta, pero me pìde parametros, cúal debería poner?

Gracias.
  #10 (permalink)  
Antiguo 28/10/2008, 07:25
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Servidores

http://msdn.microsoft.com/en-us/libr...th(VS.80).aspx
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:56.