Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2007, 04:31
ajk
 
Fecha de Ingreso: abril-2006
Mensajes: 25
Antigüedad: 18 años, 1 mes
Puntos: 0
Pasar un archivo y un input hidden al mismo tiempo

Hola a todos:
Vereis en mi aplicacion utilizo un pequeño frame con un jsp y ando un poco perdido en este tema, a ver si algun alma caritativa me echa un cable:

Tengo este codigo:
Tengo un input hidden y lo recogo dentro del jsp con String filename=request.getParameter("filename");
El problema es q el fichero se sube correctamente pero no consigo obtener el valor del campo oculto hidden. Alguna idea?

Gracias de antemano

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
import="java.util.*"
import="org.apache.commons.fileupload.*"
import="org.apache.commons.fileupload.servlet.*"
import="org.apache.commons.fileupload.disk.*"
import="java.io.*"
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/archivoSubido.js"></script>
<script>
this.id3="id";
function subirArchivo(){
var i=window.top.instanciaSubidas.getIdUpload();
var n=nombreArchivo();
var archivoS=new archivoSubido(id3,i,n);
window.top.instanciaSubidas.addRow(archivoS);
}
function nombreArchivo(){
return document.getElementById('nombre_fichero').value;
}

</script>
</head>
<body>
<form action=upload.jsp method=post enctype=multipart/form-data>
<table>
<tr>
<td>Fichero</td>
<td><input size="50%" id="nombre_fichero" type=file name=fichero></td>
</tr>
<tr><td colspan=2>
<input type="Hidden" name="filename" value="This is hidden value 2">
<input type=submit value=enviar name=enviar onclick="subirArchivo();">

</td>
</tr>
</table>
</form>

<%


FileItem item=null;
try{
//Ruta donde se guardara el fichero
File destino=new File("/tmp");

ServletRequestContext src=new ServletRequestContext(request);

String filename=request.getParameter("filename");
out.println("<script>alert('Valor1: "+filename+"');</script>");

if(ServletFileUpload.isMultipartContent(src)){
DiskFileItemFactory factory = new DiskFileItemFactory((1024*1024),destino);
ServletFileUpload upload=new ServletFileUpload(factory);
List lista = upload.parseRequest(src);
File file= null;
Iterator it = lista.iterator();

while(it.hasNext()){
item=(FileItem)it.next();

if(item.isFormField()) {

}
else
{
file=new File(item.getName());

item.write(new File(destino,file.getName()));
destroy();

}

}
}
}catch(FileUploadException e){
item.delete();
System.out.println("Subida interrumida por el usuario.-2");
}
%>