Cómo están mis amigos, les pido disculpas si es que este post ya existe, pero sinceramente me he pasado días buscando como hacer esto o por que no me funciona, pero no he encontrado nada parecido...
Mi problema es que tengo un JSP con el que subo archivos a mi Servidor y luego con una clase en java importo los datos del archivo temporal a una base de datos en postgres... El problema es que tengo 3 tipos diferentes de archivos para 3 tablas diferentes y para no hacer un JSP por cada tabla simplemente le puse un combobox con la seleccion para saber a que tabla debe subir... el problema está en que no toma los datos de seleccion de mi combobox...
Hice la pruba simplemente imprimiendo los datos en pantalla sin hacer el programa completo y todo va de maravilla, pero cuando importe las librerias y programe el JSP para subir de archivos dejo de funcionar el getParameter de la pagina...
Soy practicamente Nuevo en JSP por lo que no se si estoy haciendo algo mal y nuevamente si ya existe el post les pido disculpas, no encontre la solucion...
Por Favor!!! Auxilio!!!!
Mi codigo JSP es el siguiente
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*" %>
<%@ page import="org.apache.commons.io.*" %>
<%@ page import="java.io.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Subir Archivos</title>
</head>
<body>
<form action="index.jsp" enctype="MULTIPART/FORM-DATA" method=post>
Seleccione el archivo a subir <input type="file" name="filename" />
<br>
Seleccione el Banco correspondiente al Extracto a cargar
<SELECT NAME="BANCOS">
<option> - Seleccione un Banco -
<OPTION VALUE="continental">Banco Continental
<OPTION VALUE="central">Banco Central del Paraguay
<OPTION VALUE="fomento">Banco Nacional de Fomento
</SELECT>
<br>
<input type="submit" value="Upload" name="OK"/><br>
</form>
<%
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
int tamañoMaximoArchivo = 1024*1024*3; //valor en bytes --> (3MB)
String directorioDestino = "/home/dreese/"; //se selecciona el directorio donde se guardará una copia del archivo en forma temporal
String nombreArchivo = "temporal.csv";
File uploadedFile = new File(directorioDestino, nombreArchivo);
DiskFileItemFactory diskFile = new DiskFileItemFactory();
diskFile.setSizeThreshold(tamañoMaximoArchivo);
diskFile.setRepository(uploadedFile);
FileItemFactory factory = diskFile;
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
if(items.size()>0){
FileItem item = (FileItem) items.get(0);
if (!item.isFormField()) {
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
out.print("<p> fieldName --> " + fieldName);
out.print("<p> fileName --> " + fileName );
out.print("<p> contentType --> " + contentType );
out.print("<p> isInMemory --> " + isInMemory);
out.print("<p> sizeInBytes --> " + sizeInBytes);
item.write(uploadedFile);
out.println("<p> Se subio en el directorio --> " + uploadedFile.getPath() );
String tabla = request.getParameter("BANCOS");
out.println("<p> Tabla --> " + tabla);
String archivo = uploadedFile.getPath();
out.println("<p> Se subio en el directorio --> " + archivo );
out.println("<p> con el nombre --> " + uploadedFile.getName() );
}
}
}
%>
</body>
</html>