Bom …
eu tenho um arquivo em meu site que gostaria de redireciona-lo para download atraves de uma servlets que bloqueia requisiçoes .zip, e gostaria que ela fizesse o download direto no outputstream . . …
por exemplo …
quando eu coloco o inputstream para ler um arquivo
ele tenta ler o arquivo do computador da pessoa ao inves de procurar um no diretorio virtual do apache tom cat,
por exemplo, como faria para ele ler o arquivo que esta dentro de arquivo/eu.zip
pois ao fazer isto com o input ele da um erro dizendo
que nao pode encontrar o arquivo\eu.zip, note que ele vira a barra automaticamente…
Ele tenta ler um arquivo do computador da pessoa???
Mano… eu “corto fora” se isso for verdade, huahuahuahuahua, dá uma olhada melhor meu velho… uma aplicação JEE acessando um arquivo da pessoa por um servlet? “izo no ecsiste”, haha.
Mas então… não sei se entendi muito bem, mas faz o seguinte: vai ai no seu código e põe isso:
File f = new File("."); // "." = diretorio da onde você está.
System.out.println(f.getAbsolutePath());
Ai você vai ver onde que você está, com base nesse caminho que ele colocar na tela, você vai saber como chegar nesse seu arquivo ai (tipo, colocar uns “…/” coisas do tipo).
Se eu tinha dito é pq tava acontecendo…
agora eu ja resolvi…
era so colocar
String novo =(String) getServletContext().getRealPath("1.jpg");
FileInputStream arquivo = new FileInputStream(novo);
ServletOutputStream saida = response.getOutputStream();
byte[] buffer = new byte[1024];
int b =0;
response.setContentType("image/jpeg");
while (( b = arquivo.read(buffer))!= -1)
saida.write(buffer, 0, b);
saida.flush();
arquivo.close();