I have an app that generates a PDF file on the server side. I would like it to present a download dialog so the user can save it. Currently, it just ends up getting displayed inline, replacing the page that requested it. How can I force a save dialog to show?
and on the server
Code:
DataSource ds = getMyDS();
DSRequest dsRequest = new DSRequest(DSOperationType.CUSTOM,"MethodName");
dsRequest.setExportResults(true);
dsRequest.setDownloadToNewWindow(true);
dsRequest.setTransport(RPCTransport.HIDDENFRAME );
dsRequest.setIgnoreTimeout(true);
dsRequest.setShowPrompt(false);
ds.exportData(chartQuert, dsRequest, new DSCallback() {
public void execute(DSResponse dsResponse, Object o,DSRequest dsRequest) {
}
});Code:
req.getRPCManager().doCustomResponse();
HttpServletResponse servletResponse = req.rpc.getContext().response;
servletResponse.setContentType("application/pdf");
servletResponse.setHeader("Content-Disposition", "inline; filename=\""+ fileName + ".pdf\"");
OutputStream os = servletResponse.getOutputStream();
GEN and Write PDF
os.flush();
os.close();