Upload de Imagens

Pessoal,

Estou desenvolvendo um sistema que faz upload de imagens, mas estou encontrando um problema:

Consegui, neste mesmo site, um tutorial sobre upload de imagens(http://www.portaljava.com/home/modules.php?name=Content&pa=showpage&pid=83).

O problema está na linha upload.read(imagem, 0, size). O “upload” não foi declarado, por este motivo q o sistema nao está compilando. Alguem sabe d q classe é esse “upload”?


<%
// Verificando se o form possui campo(s) com dados binários
if (FileUpload.isMultipartContent(request)) 
{
      // criando o objeto para cuidar do upload
      DiskFileUpload fu = new DiskFileUpload();
      // setando o tamanho maximo em bytes para upload
      fu.setSizeMax(800000);
      try 
      {
           // parseando a requisição e retornando uma lista com os campos
          // encontrando, tanto textos, quanto dados binários (arquivos     binários)
          List items = fu.parseRequest(request);
          Iterator i = items.iterator();
          FileItem fi;
          String cmt=null;
          // laço para pegar todos os campos do form 
          while (i.hasNext()) 
          {
               fi = (FileItem)i.next();
               // teste para ver se o campo em questão é campo do formulario
              // ou um arquivo
              if (fi.isFormField()) 
              {
                    // pegando o valor do campo do formulário (comentário)
                    cmt = fi.getString();
              }
              else
              {
                   // obtendo o tamanho da foto
                   int size = (int) fi.getSize();
                   // array de byte para armazenar a foto
                   byte [] imagem = new byte[size];
                   //--------------AQUI ESTA O PROBLEMA ----------------------
                   upload.read(imagem, 0, size);
              }
         }
    }
.
.
.

Obrigado

Pessoal, sou eu d novo…

Será que o upload se refere a classe DataInputStream???
Eu tentei usa-la mas não deu certo…
Tem alguma outra forma de fazer isso???

Opa,

nossa este código está muito desorganizado, mas vamos lá.
Substitua as linhas

// array de byte para armazenar a foto byte [] imagem = new byte[size]; //--------------AQUI ESTA O PROBLEMA ---------------------- upload.read(imagem, 0, size);

Por

                       InputStream in = fi.getInputStream(); 
			// Obtém nome do arquivo
			String nomeArquivo = fi.getName(); // valor do atributo filename
			int nom = nomeArquivo.lastIndexOf( "\\" ); 
			// busca somente o nome do arquivo
			nomeArquivo = nomeArquivo.substring( nom + 1 );
                       // salva o arquivo em
			File file = new File( caminho + "\\" + nomeArquivo + ""); 
			// obtém conteúdo do arquivo
			FileOutputStream fos = new FileOutputStream(file); 
			int c; 
			while((c = in.read()) != -1) // lê linha a linha do arquivo
				fos.write(c); // grava linha por linha
			fos.close(); 

Acho que irá lhe ajudar.

:okok:

Muito Obrigado Marcos. O teu código funcionou aqui tb, entretanto bastava fazer a declaração do objeto ‘upload’.

InputStream upload = fi.getInputStream();

Valeuu