Subir Archivos

Para subir archivos mediante un formulario y guardarlos en una carpeta local, se requieren algunas librerías adicionales:
Commons IO (Descargar aquí)

Commons FileUpload (Descargar aquí)

Una vez agregadas las librerías al proyecto, implementamos el formulario:

<form action="FileServlet?action=upload" enctype="multipart/form-data" method="post">
    Fichero: <input type="file" name="archivo"/>
    <input type="submit" value="Subir"/> 
</form> 

Como se puede observar el formulario debe ser de tipo multipart. El archivo será enviado al FileServlet para ser procesado.

if (action.equals("upload")) {
   boolean isMultipart = ServletFileUpload.isMultipartContent(request);
   if (isMultipart) {
       FileItemFactory factory = new DiskFileItemFactory();
       ServletFileUpload upload = new ServletFileUpload(factory);
       try {
            List items = upload.parseRequest(request);
            Iterator iterator = items.iterator();
            while (iterator.hasNext()) {
                 FileItem item = (FileItem) iterator.next();
                    if (!item.isFormField()) {
                        String fileName = item.getName();
                        String root = getServletContext().getRealPath("/");
                        File path = new File(root + "/../../web/files");
                        if (!path.exists()) {
                            boolean status = path.mkdirs();
                        }
                        File uploadedFile = new File(path + "/" + fileName);
                        item.write(uploadedFile);
                        BeanArchivo archivo = new BeanArchivo();
                        archivo.setNombre(fileName);
                        archivo.setRuta(uploadedFile.getAbsolutePath());
                        daoarchivo.insert(archivo);
                        }
                    }
       } catch (FileUploadException e) {
          e.printStackTrace();
          } catch (Exception e) {
          e.printStackTrace();
          }
      }
}

Puntuación: 4.00 / Votos: 4
Subir y Descargar Archivos desde un Servlet Java

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *