0

我在我的 Web 应用程序中成功生成了一份报告。我需要这个文件在客户端可用,我已经这样做了:

 String serverHomeDir = System.getenv("CATALINA_HOME");
        String reportDestination = serverHomeDir + "/Reports/" + user + "_" + church + "_" + currdate + ".pdf";
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "attachment; filename=" + reportDestination);

可以成功打开目录上可用的 Pdf 文件。但是无法打开客户端上的一个下载。它给出了这个错误:

在此处输入图像描述

我在做什么错或没有做什么?

4

1 回答 1

1

您必须将文件作为字节数组附加到您的响应中:

 String serverHomeDir = System.getenv("CATALINA_HOME");
 String reportDestination = serverHomeDir + "/Reports/" + user + "_" + church + "_" + currdate + ".pdf";

 FileInputStream fis = new FileInputStream(new File(reportDestination));

 // Fast way to copy a bytearray from InputStream to OutputStream
 org.apache.commons.io.IOUtils.copy(fis, response.getOutputStream());
 response.setContentType("application/pdf");
 response.setHeader("Content-Disposition", "attachment; filename=" + reportDestination);
 response.flushBuffer();
于 2013-08-12T13:24:53.327 回答