Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida com Download e Upload

Lendo um pouco da documentação do Vraptor na parte de upload e download(http://www.vraptor.org/pt/docs/download-e-upload/), me apareceu uma dúvida, segue um exemplo do upload:

public void atualizaFoto(Perfil perfil, UploadedFile foto) {
    File fotoSalva = new File("/path/to/file/repository", foto.getFileName());
    foto.writeTo(fotoSalva);
    dao.atribui(fotoSalva, perfil);
}

e o exemplo dois exemplos do download:

public Download foto(Perfil perfil) {
    byte[] conteudoFoto = [...];
    String contentType = "image/jpg";

    return new ByteArrayDownload(conteudoFoto, contentType, filename);
}
public Download foto(Perfil perfil) {
    InputStream stream = [...];
    String contentType = "image/jpg";

    return new InputStreamDownload(stream, contentType, filename);
}

Nos downloads trabalhamos com fluxos de bytes, mas em nenhum local estamos fechando esses fluxos após o uso, a mesma coisa acontece com o upload, em nenhum momento estamos fechando o uploadedfile. Não precisamos fechar estes recursos ou o ByteArrayDownload e o InputStreamDownload já possuem algum recurso de fechamento automático? o UploadedFile também precisa ser fechado?

2 respostas
solução!

O VRaptor faz isso para você :).

Vraptor show de bola!! :)