Olá, tenho um servlet que gera um “arquivo” dinamicamente e a partir dele gero um array de bytes. Esse arquivo é então enviado para o usuario que fez a requisição ao servlet. O meu problema é o seguinte, eu não posso gravar o arquivo e indicar uma url para o cliente fazer o download, eu tenho que enviar o arquivo num array de bytes mesmo de maneira que o browser abra a janela de download. Até aí eu consegui fazendo o seguinte:
OutputStream out = response.getOutputStream();
response.setContentType("application/octet-stream");
byte[] stream = this.geraArquivo();// abstraiam... :-)
out.write(stream);
out.flush();
out.close();
O que eu não estou conseguindo fazer é indicar um nome para o arquivo. No browser, a janela para download aparece mas sem um nome para o arquivo. Há como setar um header do http para indicar o nome do arquivo?
Agradeço qualquer ajuda.