| |
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.*;
import org.apache.commons.fileupload.servlet.*;
import org.apache.commons.io.output.*;
import java.util.*;
/**
*
* @author original : Roberto Canales - Modificado por javcasta2002@yahoo.com
* @version
*/
public class uploadFichero extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet</title>");
out.println("</head>");
out.println("<body>");
System.out.println("Comenzamos procesamiento ficheros");
procesaFicheros(request,out);
out.println("</body>");
out.println("</html>");
out.close();
}
void depura(String cadena)
{
System.out.println("El error es " + cadena);
}
public boolean procesaFicheros(HttpServletRequest req, PrintWriter out ) {
try {
// Check that we have a file upload request
boolean isMultipart = FileUpload.isMultipartContent(req);
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List /* FileItem */ items = upload.parseRequest(req);
if(items == null)
{
depura("La lista es nula");
return false;
}
out.print("<br>El número de ficheros subidos es: " + items.size());
// Iteramos por cada fichero
Iterator i = items.iterator();
FileItem actual = null;
depura("estamos en la iteración");
while (i.hasNext())
{
actual = (FileItem)i.next();
String fileName = actual.getName();
out.println("<br>Nos han subido el fichero" + fileName);
// construimos un objeto file para recuperar el trayecto completo
File fichero = new File(fileName);
depura("El nombre del fichero es " + fichero.getName());
// nos quedamos solo con el nombre y descartamos el path
fichero = new File("c:\\ficherossubidos\\" + fichero.getName());
// escribimos el fichero colgando del nuevo path
actual.write(fichero);
}
}
catch (
Exception e){depura("Error de Aplicación " + e.getMessage());
return false;
}
return true;
}
/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
|
|