Resultados 1 al 4 de 4

Tema: Obtener el path de un input type='file'?

  1. #1
    Con domicilio en Noticias3d.com Avatar de Bakidok
    Mensajes
    5,066

    Predeterminado Obtener el path de un input type='file'?

    Buenas,

    Tengo un formulario donde hay una caja de texto para seleccionar un archivo. El problema que tengo es que el valor obtenido, una vez hecho "submit" al formulario, es solo el nombre del archivo seleccionado y no toda la ruta al archivo.

    Una vez se selecciona el archivo, en la caja de texto sí sale toda la ruta + el nombre del archivo, pero una vez hecho "submit", solo se obtiene el nombre del archivo.

    Alguien sabe como obtener toda la ruta del archivo y no solo el nombre de éste?


    PD: Estoy trabajando sobre páginas .jsp por si sirve de algo.
    Última edición por Bakidok; 06/01/2009 a las 10:56
    Intel Core i7-3770K@4.3Ghz | Noctua NH-D14 | Gigabyte GA-Z77X-D3H | 16 GB DDR3 1866C9D (9-10-9-28) | Gigabyte HD 7970 Ghz Edition 3GB | Antec P280

  2. #2
    Master
    Ubicación
    Alicante
    Mensajes
    1,016

    Predeterminado Re: Obtener el path de un input type='file'?

    Buenas,

    ¿Para qué quieres saber la ruta del archivo?

    Esto que en principio debería ser una tarea sencilla se complica por la falta de métodos en el API estándar de servlets y JSP. Se hace necesario por tanto el uso de librerías adicionales. Yo uso una denominada COS (com.oreilly.servlets).

    http://www.servlets.com/cos/

    El formulario de subida debe tener un atributo enctype="multipart/form-data", ojo, esto anula el request.

    En la clase FilePart tienes un método llamado getFilePath() que devuelve toda la ruta.

    Espero que te sirva.
    Un saludo!
    Antec P150 Neo HE 430W | Core2Duo 6600 | P5W DH Deluxe | HIS X1900GT ICQ3 | 2GB Geil DDR2 800 | 320GB Seagate 16MB

  3. #3
    Con domicilio en Noticias3d.com Avatar de Bakidok
    Mensajes
    5,066

    Predeterminado Re: Obtener el path de un input type='file'?

    La verdad que pensándolo mejor, no sirve de nada obtener la ruta, si luego el codigo java que lee el archivo se ejecuta en el servidor... por lo tanto no encontraria la ruta del archivo que ha indicado el usuario.

    O sea que lo mejor es subir el archivo al servidor, y una vez allí, leerlo.

    La libreria que has puesto tambien sirve para subir el archivo en un servidor? o cual es la mejor forma?
    Intel Core i7-3770K@4.3Ghz | Noctua NH-D14 | Gigabyte GA-Z77X-D3H | 16 GB DDR3 1866C9D (9-10-9-28) | Gigabyte HD 7970 Ghz Edition 3GB | Antec P280

  4. #4
    Master
    Ubicación
    Alicante
    Mensajes
    1,016

    Predeterminado Re: Obtener el path de un input type='file'?

    Si, esa librería sube el archivo al servidor, concretamente al directorio que tu le digas.

    Una vez ahí, puedes renombrar el archivo con el nombre que tu quieras (darle a una foto de un usuario su id.jpg... ), etc.

    Así es la manera de hacerlo, como te he comentado antes, la API de Servlets/JSP, no tiene gran cosa para trabajar con ficheros.

    Es tan sencillo como hacer:

    MultipartRequest multi = new MultipartRequest(request, getServletContext().getRealPath("nomDirectorio") );

    y luego ya pues coger el fichero:

    File f= new File( multi.getFile("nombrecampoFile en el formulario"));

    Mirate la librería que te comento y los métodos que tiene, para saber extensiones etc.

    Un saludo
    Antec P150 Neo HE 430W | Core2Duo 6600 | P5W DH Deluxe | HIS X1900GT ICQ3 | 2GB Geil DDR2 800 | 320GB Seagate 16MB

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •