Upload JSF

3 respostas
D

Bom dia Pessoal.
Estou usando o ADFaces em uma aplicação.
Não precisam me xingar, já sei que é ruim e td mais. Mas na época, tivemos que usar.
Tem um componente, que deve ter no trinidade também, chamado

Ele funciona quase perfeitamente.
Alguns arquivos binários, na hora de fazer upload, são corrompidos.
Tentei fazer este Upload na mão, ou usando o Commons.
Porém, para as duas situações, eu tive problema com o ContentType do request.

No meu form, eu defino o contentType correto.

multipart/form-data

Porém, quando chego no meu backingBean ou Servlet (fiz usando os dois).
e dou um
request.getContentType();
Ele não me retorna o multipart, e sim, o type padrão (x-www-form-unlencoded).

Por isso, o arquivo vem corrompido (ele adiciona alguns bytes no final do arquivo).

Minha pergunta é, o que estou fazendo de errado?
Alguem já passou por isso?

Não importo onde eu defina o contentType, no form, no @page ou no meta, da o mesmo problema.

O código abaixo é o meu JSP que chama um servlet.
Este JSP e Servlet está dentro da estrutura do JSF.
Se fosse JSF com BackingBean daria a mesma coisa.
Se eu debugo, e navego dentro do request, ele mostra o contentType como multpart, mas, durante o método do servlet (ou backinbean) o getContentType retorna o x-www.

Alguem?

Obrigado

<%@ page contentType="multipart/form-data;charset=windows-1252"%>
  <html>
  <head>
    <meta http-equiv="Content-Type" content="multipart/form-data; charset=windows-1252"/>
    <title>detalheRedeUpload</title>
  </head>
 <body>  
  <form action="../uploadservlet" method="POST" enctype="multipart/form-data">
<!-- enctype="multipart/form-data" -->
<input type="file" name="theFile"><br>

<input type="submit">
</form>
</body>
</html>

3 Respostas

afamorim

Meu velho, utilize o tomawak para esse intuito, ele cumpre muito bem o seu papel, tenho alguns projetos utilizando o mesmo e até hoje, não teve um só caso de corromper os arquivos.

Qualquer duvida, baixe o exemplo do site do myfaces e faça igual.

Espero ter ajudado.

D

Então.
Mas eu posso utilizar o tomahawk junto com o ADFaces?
Só adicionar o tomahawk.jar no lib/ e ele usa a implementação do ADFaces normal?
Porém, com os componentes a mais do tomahawk?

Legal…
Valeu, vou testar isso.

afamorim

Você terá que configurar o web xml para trabalharem jnto.
mais na página da myfaces eles dizem tudo que vc precisa fazer para fazer com que funcionem juntos.

Criado 26 de outubro de 2007
Ultima resposta 26 de out. de 2007
Respostas 3
Participantes 2