I am trying to open a PDF file through a
servlet without showing the download box. (A box which asks whether to open or to save it). The problem is the code executes fine in Netscape but in IE it gives a problem .With IE 5.5 the request is submitted but "refresh" needs to be clicked manually to bring up theb PDF file. This servlet is invoked on the click of a button.
However in Netscape it is working absolutely fine.
Can somebody tell me why it is not working for IE please??
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;
public class PDFServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("application/PDF");
String header_info = req.getHeader("USER-AGENT");
if (header_info.indexOf("MSIE") != -1)
res.setHeader("Content-disposition", "inline; filename=wte.pdf");
else
res.setHeader("Content-disposition", "inline; filename=\\wte.pdf\\");
//String fileURL = "h:\\temp\\wte.pdf";
String hreffile = SessionManager.SessionHash.uom_get_data("VALUE", "hreffile");
String fileURL = "J:\\J2EE\\Cnapro\\Agentcenter\\inetprint\\" + req.getParameter("HREFFILE");
try {
File file = new File(fileURL);
byte[] byteContents = new byte[(int) file.length()];
FileInputStream in = new FileInputStream(fileURL);
// Read the file.
int retcd = in.read(byteContents);
ServletOutputStream out = res.getOutputStream();
BufferedOutputStream bos = null;
bos = new BufferedOutputStream(out);
bos.write(byteContents, 0, retcd);
} catch (Exception e) {
e.printStackTrace();
}
}
}