Vraptor + Upload + Atributos

4 respostas
ric_analista

Pessoal,
estou usando o upload no vratpor e está passando o arquivo tranquilamente, porém eu quero buscar os atributos desse arquivo passado e não está me dando opção para tal… ex:

UploadedFile arquivo

queria o arquivo.tamanhoDele e arquivo.exensãoDele… é Possível???

obrigado a todos

4 Respostas

G

Dê uma olhada no javadoc: http://vraptor.caelum.com.br/javadoc/br/com/caelum/vraptor/interceptor/multipart/UploadedFile.html

Para pegar o nome do arquivo você pode usar o método getFileName(), e a partir dele você pode facilmente saber a extensão. Para saber o tamanho você precisa ler o stream via getFile.

ric_analista

Olá Garcia, obrigadão pelo retorno, sou novato… estou conseguindo pegar o file name, porém meu validator não está validando direito…
pois preciso validar somente arquivos pdfs… e que no upload não esteja vazio… porem não funciona…

na passagem do objeto ex: “UploadedFile arquivo” pego o arquivo.getContentType().toString() ele me retorna o seguinte : application/pdf então faço a seguinte validação:

validator.checking(new Validations() {
		{
			that(arquivo.getContentType().toString() == "application/pdf", "erro", "anexo.formato");
			that(arquivo != null, "erro", "arquivo.vazio");

		}
	});
	validator.onErrorRedirectTo(AnexoController.class).formulario();

essas validações não estão validando corretamente…

agradeço se souber como contornar isso…
obrigadão…

G

Ao invés de

não deveria ser?

ric_analista

Garcia… obrigadão… já resolvi…
conseguir entender melhor o componente e validei assim:

validator.checking(new Validations() {
		{
			that(arquivo, notNullValue(), "erro", "anexo.vazio");
		}
	});
	validator.onErrorRedirectTo(AnexoController.class).formulario();

	validator.checking(new Validations() {
		{
			that(arquivo.getContentType().toString().equals("application/pdf"), "erro2", "anexo.formato");
		}
	});
	validator.onErrorRedirectTo(AnexoController.class).formulario();

valeu!!!

Criado 8 de outubro de 2010
Ultima resposta 11 de out. de 2010
Respostas 4
Participantes 2