Olá a todos =] Estou fazendo uma pequena aplicação para fazer download de um arquivo do servidor. Eis a parte do código referente ao download que tenho:
[code]public void download(int indice) throws Throwable {
if(!validaResponse()) throw new Exception("Response nao declarado na classe de Download, por favor declara-lo !");
response.setContentType("application/octet-stream");
String caminho = getDownloader().getDir() + getDownloader().getListaArquivos().get(indice); // exemplo "C:/pasta/arquivo.txt"
File file = new File(caminho);
FileInputStream fileIn = new FileInputStream(file);
ServletOutputStream out = response.getOutputStream();
byte[] outputByte = new byte[2*4096];
while(fileIn.read(outputByte, 0, 2*4096) != -1) {
out.write(outputByte, 0, 2*4096);
}
fileIn.close();
out.flush();
out.close();
}[/code]
O problema que isto me gera é: Em casos de DOC ou PDF, os arquivos aparecem para download normalmente. Agora por exemplo um TXT joga seu conteudo dentro do html. Um .dll ou .exe joga hash codes na tela ao invez de baixar o arquivo. O hyperlink na pagina não está direcionado ao arquivo portanto não é possivel ‘salvar destino como’ por questões de segurança. Gostaria de saber se estou fazendo algo errado, ou se existe uma maneira mais facil de fazer o download do arquivo. Tudo que eu tenho é o caminho dele no servidor. Quero que apareça a tela de downloadzinho ao invez de tentar abrir os hashs do arquivo.
Obrigado a boa pessoa que puder me ajudar
[]´s Gabriel ‘Ziden’