Erro em implementação com Jakart FileUpload

27/07/2010

0

Boa noite Pessoal,
Fiz um sistema de upload com o jakarta commoms fileupload e o mesmo esta gerando um erro muito estranho. Ao executá-lo e escolher o arquivo, o browser abre uma janela pra fazer o download da minha pagina .jsp
segue codigo:
importação.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>WebTesterQualy</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style>body, td, a:link, a{font-family: Verdana;font-size: 10px;color: #000000;text-decoration: none;}a:hover{color: #FF0000;}input {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;background-color: #FFFFFF;border: 1px solid #000000;}</style><script type="text/javascript">  function validaarquivo(campo)   {     TamanhoString = campo.length;     extensao   = campo.substr(TamanhoString - 4,TamanhoString);     if (TamanhoString == 0 )     {        alert('Você precisa selecionar um arquivo antes de transmitir.');        return false;     }     else      {          var ext = new Array('.txt','.doc','.RET');//adicione as extensões desejadas          for(var i = 0; i < ext.length; i++)           {               if (extensao == ext[i])              {                  flag = "ok";                  break;              }              else              {                  flag = "erro";                                            }          }          if (flag=="erro")          {              alert("Tipo de arquivo invalido.\nArquivos validos: .txt, .doc, .RET")                        document.formBaixa.arquivo.value="";                          return false;          }     }     caminhourl = "upload.jsp";     document.forms[0].action = caminhourl;     window.document.forms[0].submit();      return true;  }  </script>  </head>  <body>     <!--Formulário-->       <form method="post" name="formulario" enctype="multipart/form-data" id="form">        <label for="arquivo">Enviar arquivo:</label>         <input type="file" name="arquivo" id="arquivo" size="25" tabindex="15" accesskey="2" ContextHelp="Entre com o nome do arquivo ou utilize o botão brouse (pesquisar) ao lado." title="Digite a localização do arquivo ou utilize o botão Browse (pesquisar) para localizar. Para utilizar o botão Browse via teclado com o Internet Explorer, pressione a tecla espaço com o botão selecionado.">        <input type="button" name="TRANSMITIR" value="Transmitir Arquivo" onClick="return validaarquivo(form.arquivo.value)" tabindex="30">  </body>  </html>  
upload.jsp
<%@page import="org.apache.tomcat.util.http.fileupload.FileItem"%>  <%@page import="org.apache.tomcat.util.http.fileupload.FileUpload"%>  <%@page import="org.apache.tomcat.util.http.fileupload.DiskFileUpload"%>  <%@ page    import="java.io.*"     import="java.util.*"     import="org.apache.commons.fileupload.*"     contentType="text/plain"    %><%    boolean isMultipart = FileUpload.isMultipartContent(request);        if (isMultipart) {          //variáveis para auxiliar a busca no arquivo          String nome = null;          String linha=null;          String linha1=null;              String numero=null;              String linhaValida=null;              String valorPago = null;              String lineDataBaixa = null;              String dataBaixa = null;                                       DiskFileUpload upload = new DiskFileUpload();//cria objeto para auxiliar na busca e no processo do arquivo para upload no disco rigido(client)          List items = upload.parseRequest(request); //obtem os itens para upload          Iterator iter = items.iterator(); //interação com os intens do upload            upload.setSizeMax(50*1024*1024); //define o tamanho maximo do arquivo para upload 50Mb        /* Processa os itens do upload */          //items.get(1);        while (iter.hasNext()) {                      FileItem item = (FileItem) iter.next();              nome = item.getName(); //obtem o nome do arquivo              StringBuffer bn = new StringBuffer();              bn.append("C:\\bla\\"); //define o diretório para gravação do arquivo. Nesse exemplo estou usando a raiz do servidor da minha aplicação              bn.append("usuario.txt"); //armazena o nome arquivo para gravação              /*Cria, lê, converter o arquivo para String pois ele vem em bytes e grava o arquivo no servidor. Ex: /teste.txt*/              File uploadedFile = new File(bn.toString());            item.write(uploadedFile);          }        try {                             //BufferedReader in = new BufferedReader(new FileReader("/"+nome));//objeto para buscar apenas o valor e numero no arquivo              BufferedReader in1 = new BufferedReader(new FileReader("C:\\bla\\usuario.txt"));//objeto para buscar a data no arquivo                  /*laço percorrendo todos as linhas do arquivo, mas retorna somente a informação requisitada, ou seja, a data */                  while (in1.ready()){                      //processa cada linha do arquivo                      linha1 = in1.readLine(); 		if(lineDataBaixa.equals("13")){//testa se eh alinha 13                          //busca na linha a data desejada.                          dataBaixa = linha1;                  }                out.println(linha1);        }catch (IOException e) {              e.printStackTrace();          }      }          %>   

Preciso da linha 13 do arquivo pois nela existe um campo HASH encriptado cm MD5 que precisa ser validado.
Leonardo Morastoni

Leonardo Morastoni

Responder

Posts

27/07/2010

Leonardo Morastoni

Imagem do erro:
http://img827.imageshack.us/img827/6836/jakartaerror.png
Responder

28/07/2010

Dyego Carmo

Em meu DEVSPACE tenhjo aulas de como fazer esta implementacao...

tanto usando JSF , JPS e Struts2...

acesse:

https://www.devmedia.com.br/autor.asp?id=202707
Responder

28/07/2010

Leonardo Morastoni

O engraçado é que é feito o upload do arquivo certinho, mas a pagina seguinte nao carrega. Isso que estou pensando o porque.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar