Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/05/2009, 11:27
dablin
 
Fecha de Ingreso: enero-2009
Mensajes: 148
Antigüedad: 16 años
Puntos: 0
Respuesta: problemas al subir archivo y procesarlo

Me estoy liando un poco :)

Yo subo el archivo con este código

jsp
Código:
 <form method="POST" enctype='multipart/form-data' action="http://localhost:8084/Proyecto/UploadFile">
           <input type="file" name="fichero">
           <input type="submit" value="Enviar">
       </form>
Servlet

Código:

try {
            boolean isMultipart = ServletFileUpload.isMultipartContent(request);
          
            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setSizeThreshold(4096);
      
            factory.setRepository(new File("c:/"));
            ServletFileUpload upload = new ServletFileUpload(factory);
            upload.setSizeMax(10000000);

            List fileItems = upload.parseRequest(request);

            Iterator i = fileItems.iterator();
            FileItem fi = (FileItem)i.next();       

            String path="C:/Documents and Settings/MaLo/Mis documentos/NetBeansProjects/Proyecto/web/archivo";
        
           String fileName= fi.getName();        
           fi.write(new File(path, fileName));
        }catch(Exception e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
         
        }

.//respuesta.
El path donde subo el archivo es C:/Documents and Settings/MaLo/Mis documentos/NetBeansProjects/Proyecto/web/archivo

En ese directorio tengo los archivos que he subido y aparte otros tantos que tambien proceso si el usuario pincha en un enlace..

Entonces si el usuario pincha en un enlace y el archivo estaba ya en ese directorio se procesa ok.

Parsear el archivo xml
Código:
 try {
          // 2. Usar DocumentBuilderFactory para crear un DocumentBuilder
          DocumentBuilder db = dbf.newDocumentBuilder();
          // 3. Parsear a partir de un archivo
          System.out.println("DIR "+ dir);
         //dir = http://localhost:8084/Proyecto/archivos/  (mas el archivo a procesar depende del enlace que el usuario pinche)


          dom = db.parse(dir);
          
        } catch (ParserConfigurationException pce) {
            pce.printStackTrace();
        } catch (SAXException se) {
            se.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
Si el archivo ya estaba en C:/Documents and Settings/MaLo/Mis documentos/NetBeansProjects/Proyecto/web/archivo cuando arrancas el servidor todo es ok.
y al llamar a la dir http://localhost:8084/Proyecto/archivos/ al parsear el archivo dice que si está y no hay problemas
Si subes el archivo en el momento que haces http://localhost:8084/Proyecto/archivos/e.xml al parsearlo entonces dice que el archivo no está.

Bueno yo creo que eso ya lo tenias claro jeje pero yo es para volverte a preguntar cosas...

http://localhost:8084/Proyecto/archivos/ es la direccion del servidor que hace referencia a la direccion C:/Documents and Settings/MaLo/Mis documentos/NetBeansProjects/Proyecto/web/archivo

Entonces que es lo que tendría que cambiar.... la direccion del localhost cuando voy a parsear el archivo o la direccion donde guardo el archivo C:/...


No se supone que la ruta donde se guarda el archivo es la misma que donde lo guardo es decir C:/....
en caso contrario como se hace para ver cual es esa direccion?

(Otra cosa cuando le doy a stop y al momento star al servidor) entonces ya se detecta el archivo cuando accedo al localhost....

Que lio tengo je :) por hoy lo voy a dejar que estoy cansado de buscar cosas por google y por to los laos

A ver si consiguiera arreglarlo. :)