Hola, bueno necesito subir archivos al servidor y estoy utilizando el paquete que descargé de http://jakarta.apache.org/commons/fileupload/. Bien el procedimiento con esas clases es bastante sencillo, el problema es que necesito mandar un campo de tipo hidden llamado dato que me lleva una información para efectuar otra tarea en el servlet y cuando hago el
String dato=request.getParameter("dato"), dato queda como null y bueno eso me genera una excepcion y nada funciona.
La forma que envio por metodo post tiene en el enctype=enctype='multipart/form-data', creen que esto tenga algo que ver.
Aqui adjunto mi servlet:
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
import java.util.*;
public class uploadPropuesta extends HttpServlet {
public boolean uploadFicheros(HttpServletRequest req) {
try {
// objeto que es capaz de parsear la petición
DiskFileUpload fu = new DiskFileUpload();
// maximo numero de bytes
fu.setSizeMax(1024*512); // 512 K
// tamaño por encima del cual los ficheros son escritos directamente en disco
fu.setSizeThreshold(4096);
// directorio en el que se escribirán los ficheros con tamaño superior al soportado en memoria
fu.setRepositoryPath("C:\\Tomcat\\webapps\\ROOT\\t mp");
// procesar los ficheros
List fileItems = fu.parseRequest(req);
if(fileItems == null) return false;
// Iteramos por cada fichero
Iterator i = fileItems.iterator();
FileItem actual = null;
while (i.hasNext()) {
actual = (FileItem)i.next();
String fileName = actual.getName();
// construimos un objeto file para recuperar el trayecto completo
File fichero = new File(fileName);
char caracter=fichero.separatorChar;
// nos quedamos solo con el nombre y descartamos el path
fichero = new File("C:\\Tomcat\\webapps\\ROOT\\siifunadjuntos\\" + fichero.getName());
// escribimos el fichero colgando del nuevo path
try{
actual.write(fichero);
}
catch(Exception e){}
}
}
catch(FileUploadException e) {
System.out.println("Error en el upload: " + e.getMessage());
return false;
}
return true;
}
public void doPost (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException{
System.out.println(req.getParameter("nameFile"));
boolean correcto=uploadFicheros(req);
if(correcto){
getServletConfig().getServletContext().getRequestD ispatcher("/Presupuesto/adjuntarArchivosPP.jsp").forward(req,res);
}
}
}
Si tienen otra manera de hacer upload por favor ayúdenme.
Gracias.
Hasta Pronto.
Angela M.