Jac*_*oen 7 java powerpoint jasper-reports
我们使用JasperReports 5.6.1生成报告,并允许将相同的模板导出为PDF或Powerpoint.在本地运行时,下载的PDF和PPTX文件完美运行.当我们部署到我们的服务器时,PDF工作正常,但无法打开PPTX文件.当我们在本地运行时,它被部署到tomcat,但是当部署到服务器时,它在Websphere上运行.
我试过并注意到的事情:
x我尝试导出到xlsx 的类型文件的问题,只是为了看看会发生什么,并且它可以使用相同的模板工作正常.以下是我们编写响应的代码:
if ("xlsx".equals(type)) {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition", "attachment; filename=" + filename + ".xlsx");
} else if ("pptx".equals(type)) {
response.setContentType("application/vnd.openxmlformats-officedocument.presentationml.presentation");
response.setHeader("Content-Disposition", "attachment; filename=" + filename + ".pptx");
response.setCharacterEncoding("UTF-8");
} else {
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=" + filename + ".pdf");
}
try (final ByteArrayOutputStream reportResult = reportsService.generateReport(
getDeal(userId, dealId, sessionStore),
getScenarioModel(userId, dealId, scenarioId, sessionStore), reportId, type)) {
configureResponse(response, type, reportResult, dealId + "-" + scenarioId);
// Write to http response
reportResult.writeTo(response.getOutputStream());
}
response.flushBuffer();
Run Code Online (Sandbox Code Playgroud)
我已经没有关于故障排除步骤的想法,并且无法在本地重现它,我发现很难诊断.
这有点盲目,但您确定您的 WebSphere 实例中的 MIME 类型配置正确吗?(我意识到在响应中设置内容类型应该可以避免为该 MIME 类型配置 Web 服务器的要求,但它毕竟是 WebSphere ;-))
我敢打赌 PDF 是配置的 MIME 类型,但 PPTX 不是。你可以检查一下吗?
IIRC 与 Tomcat 不同,Tomcat 是一种“捆绑”的一体式 http 堆栈和 servlet 容器,WebSphere 具有单独的 http 堆栈(以及每个应用程序的单独 JVM),因此它是毫不奇怪,那里可能需要一些简单容器不需要的配置。
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |