Bom dia, estou com a seguinte situação, gero um arquivo PDF e preciso disponibilizar o mesmo para que seja feito download:
response.setContentType("application/pdf");
OutputStream mout = response.getOutputStream();
String arquivo = "/Arquivo.pdf";
InputStream is = getServletContext().getResourceAsStream( arquivo );
byte b = -1;
while( (b = (byte)is.read()) > -1 ) {
mout.write( b );
}
mout.flush(); //força o envio dos dados do buffer
mout.close();
Nessa linha ele gera a exception:
OutputStream mout = response.getOutputStream();
Exception:
java.lang.IllegalStateException: getWriter() has already been called for this response
Creio que está conflitando com o meu doPost:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String action = request.getParameter("action");
response.setContentType("text/plain; charset=\"iso-8859-1\"");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
PrintWriter out = response.getWriter();
if ("exportPdf".equals(action)) this.exportPdf(request, sessao,response,msessao);
O problema que essa Servlet tem multiplas ações, será que preciso criar uma outra Servlet para conseguir fazer esse download funcionar?
