Foros del Web » Programación para mayores de 30 ;) » .NET »

Buscador de fichero pagina aspx

Estas en el tema de Buscador de fichero pagina aspx en el foro de .NET en Foros del Web. Hola, es la primera vez que posteo en este foro y es que estoy algo perdido, estoy desarrollando un sitio web en aspx y para ...
  #1 (permalink)  
Antiguo 28/07/2009, 04:56
 
Fecha de Ingreso: julio-2009
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Buscador de fichero pagina aspx

Hola, es la primera vez que posteo en este foro y es que estoy algo perdido, estoy desarrollando un sitio web en aspx y para el necesito introducir un buscador de documentos de una carpeta que forma parte del proyecto.

He estado buscando información sobre como sería la forma de hacerlo y siempre me encuentro con lo mismo.

Usar "Scripting.FileSystemObject" para acceder a los directorios y manejar los ficheros, es mas...he encontrado código que hace exactamente lo que busco.

Código:
public partial class searchfiles : System.Web.UI.Page
{
    String SearchTerm;
    String FolderName;
    String SearchResponse;
    protected void Page_Load(object sender, EventArgs e)
    {
       SearchTerm = Request.Form[0];

       String Novalid=" a b c d e f g h i j k l m n o p q r s t u v w x y z yes no and more";
       String NovalidResponse ="Go back and try again. Your search term is very common";
 

        if (SearchTerm.IndexOf(Novalid)==0){

            Response.Write ("<CENTER><H2>Search results</H2></CENTER>");
 
        FolderName= "Documentos";
        ShowList();

        }else{
            Response.Write(NovalidResponse);
        }
        SearchResponse="";
     }

    public void ShowList(){

    String FolderToCheck = Server.MapPath("./"+FolderName+"/");
        object fs, f, f1, fc, s;
        
    fs = Server.CreateObject("Scripting.FileSystemObject");
    f = fs.GetFolder(FolderToCheck);
    fc = f.Files;
    
        foreach(object f1 in fc){

         Wfile = f1.name;
          if (right(Wfile, 4)==".pdf"){
            Wfile2 = FolderToCheck & Wfile;
            Set fs = CreateObject("Scripting.FileSystemObject");
            Set a = fs.OpenTextFile(Wfile2);
            ct = a.ReadAll;
            a.close;
            ct2=lcase(ct);
            SearchTerm2 = lcase(SearchTerm);

                  if (instr(ct2,SearchTerm2>0)) {

                      if (instr(ct,"</title>")>0) {
                  longitud=instr(ct,"</title>");
                  longitud=longitud -1;
                          ct=left(ct,longitud);
                          longitud2=len(ct);
                  longitud=instr(ct,"<title>");
                  longitud=longitud2 -longitud -6;
                          ct=right(ct,longitud);
                    }else{
                        if (instr(ct,"</TITLE>")>0) {
                    longitud=instr(ct,"</TITLE>");
                    longitud=longitud -1;
                            ct=left(ct,longitud);
                            longitud2=len(ct);
                    longitud=instr(ct,"<TITLE>");
                    longitud=longitud2 -longitud -6;
                            ct=right(ct,longitud);
                        }
                    }

                    SearchResponse= SearchResponse +"<TR><TD>"+ ct + "</TD><TD ALIGN=CENTER VALIGN=MIDDLE>" + " <A HREF=" + "/" + FolderName + "/" + Wfile +"> More </A></TD></TR>";
          longitud=0;
                  ct="";

}
}

Response.Write("<HTML><HEAD><TITLE>Search results</TITLE></HEAD><BODY BGCOLOR=FFFFFF><CENTER>"); 

Response.Write("<TABLE BORDER=0 WIDTH=550><TR><TD BGCOLOR=C0C0C0><FONT SIZE=5><B>Search Results</B></FONT></TD></TR></TABLE>"); 

Response.Write ("<TABLE BORDER=0 WIDTH=550>"); 
if (SearchResponse!="") {
Response.Write(SearchResponse);
}else
Response.Write("<TR><TD>The specified term or phrase was not found</TD></TR>");
}
Response.Write("</TABLE>");

Response.Write("</CENTER></BODY></HTML>");

}

}
En principio eso hace lo que necesito, el problema es que no lo encuentro en C# solo en VB y he ido modificandolo paso a paso de arriba abajo, pero cuando llego a
Código:
object fs, f, f1, fc, s;
        
    fs = Server.CreateObject("Scripting.FileSystemObject");
    f = fs.GetFolder(FolderToCheck);
    fc = f.Files;
no se como seguir, donde yo declaro object en el código original declara Set, el problema está en que cuando compila, fs es de tipo object y no reconocer el método GetFolder.

Si alguien puede darme algo de ayuda, bien la solucion o algo alternativo para buscar archivos en un directorio por nombre y sacar la ruta en el resultado.

Gracias.
  #2 (permalink)  
Antiguo 28/07/2009, 06:05
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: Buscador de fichero pagina aspx

Prueba con el espacio de nombres System.IO de .Net.

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/07/2009, 06:08
 
Fecha de Ingreso: julio-2009
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Buscador de fichero pagina aspx

Lo he hecho, he estudiado los diferentes métodos disponibles y todos son para leer o escribir en fichero, no encuentro nada para recorrer directorios y comprobar nombres de ficheros existentes.

Gracias.
  #4 (permalink)  
Antiguo 28/07/2009, 06:16
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: Buscador de fichero pagina aspx

http://msdn.microsoft.com/es-es/libr...io(VS.80).aspx

http://msdn.microsoft.com/es-es/libr...ry(VS.80).aspx

http://msdn.microsoft.com/es-es/libr...me(VS.80).aspx

http://msdn.microsoft.com/en-us/libr....getfiles.aspx

A ver si te sirve.
__________________
¡¡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 29/07/2009, 01:27
 
Fecha de Ingreso: julio-2009
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Buscador de fichero pagina aspx

Gracias, he estado mirando los enlaces y todo eso lo habia mirado ayer y no veia una solucion clara, ya que me parecen todos los métodos para abrir, leer y escribir en fichero, copiar, mover ficheros...etc.

No para seleccionar directorios y comprobar los nombres de los ficheros.

Pero gracias de todas formas, sigo pegandome con ello.
  #6 (permalink)  
Antiguo 29/07/2009, 03:35
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: Buscador de fichero pagina aspx

Primero usa System.IO.Directory.GetDirectories y con esto obtendrás una matriz con todos los subdirectorios de un directorio específico. Recorres esa matriz y en cada subdirectorio puedes hacer esto para obtener la lista de los archivos contenidos en él.

Código VB.Net:
Ver original
  1. Imports System.IO
  2.  
  3. ...
  4.  
  5. Dim ruta As String 'Contendrá la ruta del directorio actual
  6. Dim archivo As String 'Contendrá el nombre del archivo (sin la ruta)
  7.  
  8. 'ruta es el nombre del directorio en el que estás. Viene de la matriz obtenida en System.IO.Directory.GetDirectories
  9. ChDir(ruta)
  10.  
  11. 'Carga los archivos contenidos en la ruta. Puedes especificar todos con "*.*", con una extensión concreta "*.ext" o posibles nombres "archivo*.ext"
  12. archivo = Dir("*.*")
  13. If archivo = "" Then
  14.   ' No hay archivos
  15. End If
  16.  
  17. Do Until archivo = ""
  18.    'Una vez que tengas el nombre del archivo podrás acceder a él o hacer las comprobaciones que quieras
  19.    ...
  20.  
  21.    archivo = Dir() 'Cambia al siguiente archivo del directorio
  22. Loop

Espero que esto ya te oriente un poco más.

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!
  #7 (permalink)  
Antiguo 29/07/2009, 05:00
 
Fecha de Ingreso: julio-2009
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Buscador de fichero pagina aspx

Gracias, ya casi tengo solucionado el problema..pero ya estoy viendo otro..jeje tengo el buscador dentro de un div "contenido "que recargo mediante AJAX, al seleccionar el icono del buscador.

Cuando le doy al boton de buscar(ejecuto el onClick) pretendo modificar un div "resultados" para que los vaya cargando con el innerHTML en el, y lo hace, el problema es que se carga el resto de la pagina, y me redirige a una en la que solo tengo el div que contenia al buscardor, es decir al código de esa página que he cargado mediante AJAX en el principal....no se si me he explicado...jeje.

Mejor un ejemplo:

Código:
<html>
<pagina>
<contenedor>
 //aqui cargo las opciones del menu ,en este caso el buscador.
<buscador>
<form></form>
<resultados>//vacio al principio y relleno al buscar</resultados>
</buscador>
</contenedor>
</pagina>
</html>
y despues de darle a buscar me quedo solo con...

Código:
<buscador>
<form></form>
<resultados>resultados de la busqueda</resultados>
</buscador>
Supongo que tengo que hacer que de alguna forma el formulario o el boton no recarguen pero no se conq ue propiedad puedo hacer eso....Gracias otra vez.
  #8 (permalink)  
Antiguo 29/07/2009, 05:16
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: Buscador de fichero pagina aspx

Ahí estoy perdido, es más, me interesa lo de las páginas asíncronas para cuando abandone definitivamente el .Net Framework 1.1. De todas formas abre otro tema, ya que es otra cosa distinta.

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!
  #9 (permalink)  
Antiguo 29/07/2009, 05:21
 
Fecha de Ingreso: julio-2009
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Buscador de fichero pagina aspx

Ok, Gracias por todo.
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 14:27.