Alguém pode me dar uma luz... Estou tentando fazer isso usando Struts2 e o FileUpload... Não consigo pegar os campos da tela, a variável request está perdidaa aí na tela, vejam:
class Action
if (FileUpload.isMultipartContent(request)){ //verificando se o form possui campo(s) com dado(s) binário(s)
DiskFileUpload fu = new DiskFileUpload(); //criando o objeto para cuidar do upload
fu.setSizeMax(800000); //setando o tamanho máximo em bytes para upload
try {
List items = fu.parseRequest(request); //parseando a requisição e retornando uma lista com os campos encontrando (textos e/ou dados binários)
Iterator i = items.iterator();
FileItem fi;
String cmt = null;
while (i.hasNext()) { //laço para pegar todos os campos do form
fi = (FileItem)i.next();
if (fi.isFormField()) { //teste para ver se o campo em questão é campo do formulario ou um arquivo
cmt = fi.getString(); //pegando o valor do campo do formulário (comentário)
}else{
int size = (int) fi.getSize(); //obtendo o tamanho da foto
byte[] imagem = new byte[size]; //array de byte para armazenar a foto
upload.read(imagem, 0, size); //carregando a foto no array
FotoTeste fotoTesteBean = new FotoTeste();
fotoTesteBean.setComentario(cmt);
fotoTesteBean.setFoto(imagem);
PessoaDAO dao = new PessoaDAO();
dao.salvarFotoTeste(fotoTesteBean);
}
}
}catch (FileUploadException e){
System.out.println("Erro no upload do arquivo");
}catch (SQLException e){
System.out.println("Erro na consulta com o banco de dados");
}catch (Exception e){
System.out.println(e.getMessage());
}
{
System.out.println("O Formulário não possui dados binários");
}
}
JSP
<%--
Document : popupWindow_tab_pessoas
Created on : 23/09/2010
Author : André Asantos
--%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Upload de Fotos</title>
</head>
<body bgcolor="#FFFFFF">
<h2>Upload de Fotos</h2><br />
<form action="fotosGravadas!fazUploadFoto.action" method="get" enctype="multipart/form-data" name="foto_up" id="foto_up">
<input type="text" name="comentario"><br />
<input type="file" name="foto"><br />
<input type="submit" value="enviar">
</form>
</body>
</html>