Servlet não abre........[RESOLVIDO]

2 respostas
M

Seguinte galera, fiz um Servlet aki para busca uma imagem do banco e mostrar na tela, segue codigo:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		Connection conn = null;
		try {
			long id = Long.parseLong(req.getParameter("id"));
			conn = Conexao.getConnectionPool(.........);
			EscolaDAO escolaDAO = new EscolaDAO(conn);

			byte[] fotoBytes = escolaDAO.getFoto(id);

			if (fotoBytes != null) {
				OutputStream outputStream = resp.getOutputStream();
				outputStream.write(fotoBytes);

				outputStream.close();
			}
		}catch(Exception e){
			req.setAttribute("erro", e.getMessage());
			req.getRequestDispatcher("/sgc/mensagens/erro.jsp").forward(req, resp);
		}finally{
			try {
				if(conn!=null)conn.close();
			}catch (SQLException e) {
				System.out.println("Falha ao fechar conexao.");
			}
		}
	}

até ai tudo bem funcionou perfeitamente rodando o project local, so que ao jogar no servidor ele não mostra a imagem, da opção de salvar o Servlet ou seja em vez de aparecer o poup com a imagem aparece a janela para salvar o Servlet.
Alguém sabe me dizer pq??

2 Respostas

MrSpaceman

Tenta settar o content type do response:

if (fotoBytes != null) {  
  OutputStream outputStream = resp.getOutputStream(); 
  resp.setContentType("image/jpeg"); // aqui o browser vai reconhecer que o que o servlet tá respondendo é uma imagem.
  outputStream.write(fotoBytes);     
  outputStream.close();  
}
M

Valew MrSpaceman, deu certo aki.

Criado 25 de junho de 2009
Ultima resposta 25 de jun. de 2009
Respostas 2
Participantes 2