想要从DWR请求打开PDF文件

时间:2010-11-03 14:09:00

标签: java dwr

我想从DWR调用打开一个pdf文件。我正在使用DWR 2.0 请指导我。

2 个答案:

答案 0 :(得分:1)

我无法理解你open pdf file的意思。根据我对您的问题的理解,您可以使用DWR从服务器到客户端获取pdf文件。然后你必须用任何客户端技术显示它。

在DWR网站中,您可以找到dwr.war文件。它包含下载pdf文件的示例。您已将该文件放在任何servlet容器的web-apps文件夹中。然后,您可以通过http://localhost:8080/dwr/访问教程。

答案 1 :(得分:1)

考虑升级到DWR 3。

在DWR3中,您将找到一个FileTransfer对象......

HTML:

<form action="downloadFile.do">
  <div id="buttons">
    <input type="button" value="Back" id="mapback"    onClick="javascript:back();" class="Back" />
    <input type="button" value="SavePDF" id="SavePDF" onclick="return downloadPdfFile();" class="saveToPdfButton" />
    <input type="submit" value="Continue" id="continue" class="continue" />

  </div>
</form>

JavaScript的:

function downloadPdfFile() {
  dwr.engine.setTimeout(59000);

  var callMetaData = {
  callback : downloadPdfCallback,
  exceptionHandler : hideLoadingAndSwitchOnSavePDFButton,
  errorHandler : hideLoadingAndSwitchOnSavePDFButton,
  preHook : showLoading,
  postHook : hideLoading
};

DWRAction.downloadPdfFile(callMetaData);

return false;
}

function downloadPdfCallback(data) {
   dwr.engine.openInDownload(data);
}

爪哇:

File pdfFile = new File(pdfFilename);
try {
      InputStream is = new BufferedInputStream(new FileInputStream(pdfFile));
       dwrPdfFile = new FileTransfer(pdfFile.getName(), "application/pdf", is);
     } catch (FileNotFoundException e) {
       LOGGER.error("Unable to find PDF file \'{}\'", pdfFile.getAbsoluteFile());
     }