@Post@Path("/produtos/{produto.id}/imagem")publicvoidupload(Produtoproduto,finalUploadedFileimagem){if(imagem==null){System.out.println("Imagem está nula");}}
O problema é que imagem tá vindo nula!
O que pode fazer imagem vir nula? No form o usuário escolhe uma imagem do disco e clica em enviar, mas na lógica não tá vindo nenhuma imagem.
Então. alguém vê algum erro nos códigos mostrados?
Lucas, seguinte: o commons-fileupload tá no projeto sim, porém com certeza é problema de alguma lib faltando, sobrando ou errada. Eu estou com dois projetos aqui, o original com as libs que eu coloquei, e um que peguei na net com outras libs. o da net funciona, mas o meu não. Fiz um merge entre as e tá tudo funcionando, porém não deu pra perceber qual lib.
Você deve ser bem mais experiente, qual lib afeta o upload? pode ser qualquer uma né pra tá chegando um objeto nulo?
Lucas_Cavalcanti
geralmente a commons-fileupload e commons-io
mas se vc estiver no tomcat 7 ou jetty 8 ele usa o próprio do container
U
unkillable
Ah então é isso mesmo, to usando tomcat 7.
Tudo resolvido, valeu pela ajuda! Finalmente terminei o fj28 da caelum.
Lucas_Cavalcanti
o tomcat 7 ainda não suporta o servlet upload corretamente, por isso não funciona com o vraptor… mas na próxima versão do VRaptor ele dará preferência pelo commons-fileupload daí funcionaria normal.
Estou tendo o mesmo problema, mas não tenho idéia de como eu posso atualizar a versão do Vraptor que está no meu projeto para esta 3.2.0-SNAPSHOT.
Estou usando a versão 3.2.1 do Vraptor com o Maven. Creio que no repositório ainda não temos disponível esta nova versão.
O que posso fazer para resolver este problema de o UploadedFile estar vindo quase sempre null no Controller?
Lucas_Cavalcanti
vc precisa adicionar o commons-fileupload e o commons-io pra habilitar o upload