Author Topic: Obtener ruta de una carpeta  (Read 17620 times)

nenuka

  • Guest
Obtener ruta de una carpeta
« on: Mayo 04, 2007, 01:01:08 am »
Hola!
No se como hacer para obtener la ruta de una carpeta desde un formulario, porque si pongo un input de tipo file, no me deja seleccionar una carpeta, solo me deja un fichero; eso como lo puedo hacer?

venkman

  • Jr. Member
  • **
  • Posts: 68
  • Karma: 0
    • View Profile
Re: Obtener ruta de una carpeta
« Reply #1 on: Mayo 04, 2007, 02:36:31 am »
La pregunta realmente es... ¿Para qué quieres hacer eso? ¿Para qué quieres enviar al servidor la ruta de un directorio local de un usuario?

nenuka

  • Guest
Re: Obtener ruta de una carpeta
« Reply #2 on: Mayo 04, 2007, 03:09:06 am »
Para saber donde estan los archivos que tengo que subir al servidor, ya que todos estaran en el mismo directorio, x eso quiero saber cual es la ruta, y sabiendo cual es el nombre del fichero pues ya los puedo subir

Himura

  • Jr. Member
  • **
  • Posts: 59
  • Karma: 0
    • View Profile
Re: Obtener ruta de una carpeta
« Reply #3 on: Mayo 04, 2007, 03:18:03 am »
Hola,

Necesitas tener una variable de tipo file y con esa puede obtener la ruta:

getAbsolutePath() o
getCanonicalPath()

Saludos

nenuka

  • Guest
Re: Obtener ruta de una carpeta
« Reply #4 on: Mayo 04, 2007, 03:17:11 pm »
Mmmmm...no entiendo lo que quieres decir, es decir yo lo que quiero es que al aparecer la ventana de seleccion del fichero, en vez de tener que seleccionar un fichero pueda seleccionar una carpeta, no se si me explico bien, o si se podra hacer en un formulario html.

venkman

  • Jr. Member
  • **
  • Posts: 68
  • Karma: 0
    • View Profile
Re: Obtener ruta de una carpeta
« Reply #5 on: Mayo 04, 2007, 03:35:19 pm »
El asunto es que no te va a servir de mucho hacer eso.

Quiero decir, supongamos que tienes esa ruta local, que la has conseguido como sea. ¿Qué haces ahora con ella?

nenuka

  • Guest
Re: Obtener ruta de una carpeta
« Reply #6 on: Mayo 04, 2007, 04:37:51 pm »
Pues lo que quiero hacer con ella t explico como es:
yo tengo un archivo en formato bibtex de referencias cientificas, entonces cada entrada tiene asociado un pdf, y yo lo que quiero es importar a mi base de datos esa entrada y su pdf asociado, pero como esto lo quiero hacer con muchas entradas, quiero que me indique la ruta en la que se encuentran los pdf(todos deberan estar en la misma ruta), y como en la entrada me indicara cual es el nombre del pdf, si me hubiera indicado cual es la ruta, ya sabria importarlos.
Otra manera que he pensado de hacerlos, es que m comprimiera todos los pdf en un .zip y me indicara cual es la ruta de ese .zip(q seria como un fichero y con el input file me valdria)y subirlo al servidor, pero es que no se como descomprimirlo despues desde el codigo.
Espero haberme explicado bien y que me podais ayudar de alguna de las dos maneras.
Gracias!

venkman

  • Jr. Member
  • **
  • Posts: 68
  • Karma: 0
    • View Profile
Re: Obtener ruta de una carpeta
« Reply #7 on: Mayo 04, 2007, 08:24:58 pm »
Bien, ahora está claro :)

Peeerooo... me temo que no lo puedes hacer así como quieres. Es decir, cuando se hace un envío de un formulario y hay un campo tipo file, realmente se envía una copia del fichero al servidor. El fichero va en la propia petición al servidor. Si simplemente le mandaras la ruta del archivo (C:\documentos\pdf\doc.pdf) pero no el archivo en sí, desde el servidor no se tendría acceso a esa ruta en tu PC.

Igualmente si mandas una ruta de tu PC, por ejemplo C:\documentos\pdf\, el servidor no tiene forma de acceder a esa ruta.



Visto el problema, pensemos alguna solución.

Una solución podría ser, si no son demasiados archivos, es poner múltiples campos de tipo file. Si son 200 pues no, claro, porque es un rollo para el usuario. Pero si son 8 o 9, pues no veo tanto problema. También puedes hacer como en algunas páginas que tienes a lo mejor 3 campos para subir archivos y si necesitas más se añaden más campos de tipo file según haga falta.
Ten en cuenta, de todos modos, que subir un gran volumen de ficheros es algo pesado y tarda bastante rato. Así que igual el usuario prefiere subirlos de pocos en pocos, para no arriesgarse a que se pierda la conexión, por ejemplo.


Otra solución es buscar algún componente en Flash o en Java. Hay un applet gratuito que se llama JUpload que igual te puede servir. Hay otro que se llama JClientupload (ver también). Pero claro, eso obliga a que el usuario tenga instalado el plugin de Java. Puedes encontrar componentes parecidos hechos en Flash.


Si se me ocurre algo más, lo comentaré.

Himura

  • Jr. Member
  • **
  • Posts: 59
  • Karma: 0
    • View Profile
Re: Obtener ruta de una carpeta
« Reply #8 on: Mayo 04, 2007, 10:40:29 pm »
Hola,

Si quieres seleccionar solo carpetas puedes usar un JFileChooser, hay una propiedad para que solo te aparezcan carpetas. Pero si quieres importar los archivos que estan en tu PC desde el servidor tendrías que implementar algo adicional.

Tal vez si usas RMI te podría ayudar en lo que quieres.

 

ey