FileUpload da Jakarta - Fazendo upload de arquivos ex: imagens, docs

0 respostas
A

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>
Criado 23 de setembro de 2010
Respostas 0
Participantes 1