Bom dia pessoal,
Estou com problemas para disponibilizar um fluxo de bytes para uma solicitação,
segue o codigo:
String arquivo = request.getParameter("arquivo");
String nomeArquivo = request.getParameter("nome");
response.setContentType("aplication/xml");
response.setHeader("Content-Disposition", "attachment;filename="+nomeArquivo);
System.out.println(arquivo+"DOWNLODADO");
ServletContext sc = this.getServletContext();
InputStream is = sc.getResourceAsStream(arquivo);
int read =0;
byte[] bytes = new byte[1024];
OutputStream os = response.getOutputStream();
try{
while((read=is.read(bytes))!=-1){
os.write(bytes, 0, read);
}
os.flush();
os.close();
}catch(Exception e){
os.close();
}
Onde arquivo é o nome completamente qualificado do arquivo, e arquivo é o nomem simples.
Alguem sabe o que pode estar havendo?
Ja tentei colocar a barra / no getResourceAsStrem e nada da certo, o arquivo downlodado sempre chega com 0 bytes.
EDIT: Troquei a linha
InputStream is = sc.getResourceAsStream(arquivo);
/por esta linha
InputStream is = FileInputStream(arquivo);
Agora so falta publicar na web para ver se vai funcionar , de qualquer forma espero que este topico ajude alguem na mesma situação.
[]'s