Foros del Web » Programación para mayores de 30 ;) » Java »

problema con enctype="multipart/form-data"

Estas en el tema de problema con enctype="multipart/form-data" en el foro de Java en Foros del Web. Hola de nuevo, otraves necesitando de su ayuda. tengo un form que manda los datos de un input type file que lo que hace es ...
  #1 (permalink)  
Antiguo 31/01/2005, 09:53
 
Fecha de Ingreso: enero-2005
Mensajes: 24
Antigüedad: 19 años, 3 meses
Puntos: 0
problema con enctype="multipart/form-data"

Hola de nuevo, otraves necesitando de su ayuda.

tengo un form que manda los datos de un input type file que lo que hace es copiar una imagen y guardarla en una dirección específica en cargaImagen

<form action="CargaImagen.jsp" enctype="multipart/form-data" method="post">

<input type="file">

</form>


pero como tiene ese tipo de encriptación no puedo mandar un atributo normal
por ejemplo si ponto un input type="text" dentro del form de arriba .
en la pagina CargaImagen no me lo reconoce me lo manda null
y en cambio si le quito el tipo de encriptado ya me lo manda pero el contenido del input type file NO.
como le hago

gracias de antemano
  #2 (permalink)  
Antiguo 01/02/2005, 14:11
 
Fecha de Ingreso: enero-2005
Mensajes: 24
Antigüedad: 19 años, 3 meses
Puntos: 0
respuesta

despues de buscar y buecar por fin lo encontre
y se los comparto por si alguien tienen el mismo problema

<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="netui-tags-databinding.tld" prefix="netui-data"%>
<%@ taglib uri="netui-tags-html.tld" prefix="netui"%>
<%@ taglib uri="netui-tags-template.tld" prefix="netui-template"%>

<%@ page import="org.apache.commons.fileupload.*"%>

<%


String nombreI2=String.valueOf(request.getParameter("imag enesFILE")).toString();
String nombreI3=String.valueOf(request.getAttribute("txtI ")).toString();



String fileName="";
String stitle="";
String nom2="";
boolean bOk = true;
try {
// construimos el objeto que es capaz de parsear la perición
DiskFileUpload fu = new DiskFileUpload();

// maximo numero de bytes
fu.setSizeMax(1024*1024); // 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(request.getRealPath("/") +"files\\tmp");

// ordenamos procesar los ficheros
List fileItems = fu.parseRequest(request);

// Iteramos por cada fichero
Iterator i = fileItems.iterator();
FileItem actual = null;
while (i.hasNext())
{
actual = (FileItem)i.next();
String a=actual.getFieldName();
if( a.equals("imagenesFILE") )
{

fileName = actual.getName();

File fichero = new File(fileName);

//fichero = new File( request.getRealPath("/") +"files\\IMG\\"+ fileName);

//fichero = new File("c:/imagenes/"+stitle+".jpg");
fichero = new File("C:/imagenes/"+stitle+".jpg");

// escribimos el fichero colgando del nuevo path
actual.write(fichero);
request.setAttribute("imagen","si");%>

<jsp:forward page="Alta.jsp"/>
<%}

else if( actual.getFieldName().equals("txtI") )
stitle = actual.getString();

}

}
catch(Exception e) {
bOk = false;
System.out.println("Error de Aplicación " + e.getMessage());
out.println("<IMG_MSG code='ERROR'>"+ e.getMessage()+"</IMG_MSG>");
}
%>
<netui:html>
<head>
<title>
Web Application Page
</title>
</head>
<body>
<p>
New Web Application Page
</p>
</body>
</netui:html>




hace un barrido de toods los elemenos del formulario y de cada uno sale su propiedad name

recuerden que al evaluar cada elemento se evaluan de izq a deracha si lo ocupan y tienen dudas comentenme
  #3 (permalink)  
Antiguo 12/06/2012, 15:30
 
Fecha de Ingreso: junio-2012
Mensajes: 2
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: problema con enctype="multipart/form-data"

hola tengo el mismo problema
ejecute el codigo q tienes y me guarda el archivo
no trae el nombre del usuario q es lo q necesito

String nombreI3 = String.valueOf(request.getAttribute("use")).toStri ng();
arroja un valor nulo, esto es lo q guarda en la carpeta especificada

.jpg

por favor me podrias explicar como corregir esta situacion

gracias de antemano
  #4 (permalink)  
Antiguo 12/06/2012, 16:01
 
Fecha de Ingreso: junio-2012
Mensajes: 2
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: problema con enctype="multipart/form-data"

por copiar y pegar sin analizar no encontraba la parte que hace parte de tu codigo

anexo codigo completo por si alguien lo necesita


<%@page import="java.io.File"%>
<%@page import="java.util.List"%>
<%@ page import = "java.*"%>
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import = "javax.servlet.*"%>
<%@ page import = "javax.servlet.http.*"%>
<%@ page import = "org.apache.commons.fileupload.*"%>
<%@ page import= "java.util.*"%>



<%
String usu = request.getParameter("usuario");
String usuario2 = (String) session.getAttribute("use");
String nombreI3 = String.valueOf(request.getAttribute("use")).toStri ng();
String nombreI2 = String.valueOf(request.getParameter("fichero")).to String();




String fileName="";
String stitle="";
String nom2="";
boolean bOk = true;
try {
// construimos el objeto que es capaz de parsear la perición
DiskFileUpload fu = new DiskFileUpload();

// maximo numero de bytes
fu.setSizeMax(1024*1024); // 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(request.getRealPath("/") +"files\\tmp");

// ordenamos procesar los ficheros
List fileItems = fu.parseRequest(request);

// Iteramos por cada fichero
Iterator i = fileItems.iterator();
FileItem actual = null;
while (i.hasNext())
{
actual = (FileItem)i.next();
String a=actual.getFieldName();
if( a.equals("fichero") )
{

fileName = actual.getName();

File fichero = new File(fileName);

//fichero = new File( request.getRealPath("/") +"files\\IMG\\"+ fileName);

stitle = usuario2;
//fichero = new File("c:/imagenes/"+stitle+".jpg");
fichero = new File("C:/subidos/"+stitle+".jpg");

// escribimos el fichero colgando del nuevo path
actual.write(fichero);
request.setAttribute("imagen","si");%>

<jsp:forward page="Menuuser.jsp"/>
<%}

else if( actual.getFieldName().equals("usuario") )
stitle = actual.getString();

}

}
catch(Exception e) {
bOk = false;
System.out.println("Error de Aplicación " + e.getMessage());
out.println("<IMG_MSG code='ERROR'>"+ e.getMessage()+"</IMG_MSG>");
}
%>
<netui:html>
<head>
<title>
Web Application Page
</title>
</head>
<body>
<p>
New Web Application Page
</p>
</body>
</html>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:59.