|    
			
				22/05/2010, 13:09
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: abril-2010 
						Mensajes: 36
					 Antigüedad: 15 años, 6 meses Puntos: 0 |  | 
  |  Respuesta: Subir un fichero con jsp  
  Bueno, me había decidido a hacerlo en un servlet usando las librerias commons.fileupload y commons.io. El código es el siguiente:
 
 import org.apache.commons.fileupload.disk.DiskFileItemFac  tory;
 import org.apache.commons.fileupload.servlet.ServletFileU  pload;
 import java.util.*;
 import org.apache.commons.fileupload.FileItem;
 import java.io.*;
 import java.io.IOException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.*;
 
 response.setContentType("text/html");
 PrintWriter out = response.getWriter();
 
 try {
 
 // Inicio de pagina
 out.println("<html>");
 out.println("<head><title</title></head>");
 out.println("<body>");
 
 // Si la request es del tipo multipart/form data ...
 if (ServletFileUpload.isMultipartContent(request)){
 
 ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
 List fileItemsList = servletFileUpload.parseRequest(request);
 
 
 DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
 diskFileItemFactory.setSizeThreshold(81920); // bytes
 
 File repositoryPath = new File("/temp");
 diskFileItemFactory.setRepository(repositoryPath);
 
 servletFileUpload.setSizeMax(81920); // bytes
 
 Iterator it = fileItemsList.iterator();
 while (it.hasNext()){
 FileItem fileItem = (FileItem)it.next();
 
 //El formulario solo contien campos input type=file
 
 String nombreCampo = fileItem.getFieldName();
 long tamanioArchivo = fileItem.getSize();
 String nombreArchivo = fileItem.getName();
 
 String contentType = fileItem.getContentType();
 
 // Obtengo caracteristicas de campo y archivo
 out.println( "<p>--> Name:" + nombreCampo + "</p>");
 out.println( "<p>--> Tamaño archivo:" + tamanioArchivo + "</p>");
 out.println( "<p>--> Nombre archivo del cliente:" + nombreArchivo + "</p>");
 out.println( "<p>--> contentType:" + contentType + "</p>");
 
 // Obtengo extensión del archivo de cliente
 String extension = nombreArchivo.substring(nombreArchivo.indexOf(".")  );
 out.println( "<p>--> Extensión del archivo:" + extension + "</p>");
 
 // Guardo archivo del cliente en servidor, con un nombre 'fijo' y la
 // extensión que manda el cliente
 File archivo = new File(directorioArchivos + "/cv" + extension);
 fileItem.write(archivo);
 if ( archivo.exists() )
 out.println( "<p>--> GUARDADO " + archivo.getAbsolutePath() + "</p>");
 else
 out.println( "<p>--> FALLO AL GUARDAR. NO EXISTE " + archivo.getAbsolutePath() + "</p>");
 
 }
 }
 }
 }catch (Exception e) {
 e.printStackTrace(out);
 e.printStackTrace();
 }
 
 
 
 Pues resulta que me da error en las lineas en azul y no sé por qué, ¿alguien me puede ayudar, por favor?
     |