Problema com download de arquivo do servidor no IE

Alguém ajuda por favor,

Estou tentando fazer um download de um arquivo
no servidor, e no IE não funciona
está abrindo a janela e logo fecha
sem dar a opção para abrir ou fazer download…
o que impressiona é que não gera nenhum erro
nos logs. outra coisa FUNCIONA no mozilla.
Alguém já teve esse problema?

Obrigado.

Opa, poderia dar mais detalhes?

Você está chamando um servlet que é o download do arquivo? Ou como está fazendo isso?

[quote=sergiom]Opa, poderia dar mais detalhes?

Você está chamando um servlet que é o download do arquivo? Ou como está fazendo isso?[/quote]

Exatamente, na minha JSP eu chamo esse servlet
para então ele acessar o arquivo e fazer o download.
o problema é que só funciona no mozilla.
Já fiz tbem direto da JSP sem chamar um servlet
e tbem não deu certo.

[quote=kleberdamasco][quote=sergiom]Opa, poderia dar mais detalhes?

Você está chamando um servlet que é o download do arquivo? Ou como está fazendo isso?[/quote]

Exatamente, na minha JSP eu chamo esse servlet
para então ele acessar o arquivo e fazer o download.
o problema é que só funciona no mozilla.
Já fiz tbem direto da JSP sem chamar um servlet
e tbem não deu certo.
[/quote]

Kleber, pode pastar o seu código?

Talvez esteja faltando algum header.

ai vai…


protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		HttpSession session = request.getSession();
		String parametros = request.getQueryString().toLowerCase();
		String fileName = "";

		if (parametros.contains("sped")) {
			response.setContentType("application/txt");
			response.setHeader("Content-Disposition", "attachment; filename=\""+ fileName+"\"");
			int tipo_rel;
			tipo_rel = Integer.parseInt((String) request.getParameter("tipo"));
			switch (tipo_rel) {
			case 1:
				fileName = "SPED_CONTABIL_"
						+ (String) session.getAttribute("str_id_usuario")
						+ ".fz";
				break;
			case 2:
				fileName = "SPED_FCONT_"
						+ (String) session.getAttribute("str_id_usuario")
						+ ".fz";
				break;
			case 3:
				fileName = "SPED_PISCOFINS_"
						+ (String) session.getAttribute("str_id_usuario")
						+ ".fz";
			}

					
				try {
					String aux = "\\\\192.168.0.251\\ArquivosPi\\ctb\\"+fileName;
					PrintWriter out = response.getWriter();
					BufferedReader br = new BufferedReader(new FileReader(aux));
					
					while(br.readLine()!=null){
					out.print(br.readLine()+"\r\n");
					}
					
				} catch (IOException err) {
					System.out.println(err);
					err.printStackTrace();
				}
			}

Kleber,

adicionando:

response.setContentType("application/force-download");
response.setContentLength((int)f.length()); //aqui vai o tamanho do arquivo

resolve?

Obs: precisa criar um File para buscar o tamanho.

já tentei alguns tipos desse contentType…
o estranho é que só não funciona quando
está fora do locahost e o navegador é o IE