Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   problema con enctype="multipart/form-data" (http://www.forosdelweb.com/f45/problema-con-enctype-multipart-form-data-266487/)

Adad 31/01/2005 09:53

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

Adad 01/02/2005 14:11

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

andres_mogollon 12/06/2012 15:30

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

andres_mogollon 12/06/2012 16:01

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;:risa:
//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>


La zona horaria es GMT -6. Ahora son las 00:31.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.