我需要你的帮助,我遇到了麻烦。
我必须对我的项目做一份报告。我做到了,效果很好。我从浏览器发送请求,我的java代码生成报告,通过jasper add response和chrome show it。
我们的系统工程师在最后一天部署项目。我的报告文件(.pdf)无法加载。我们不明白为什么? Chrome说“加载pdf文件失败”,Firefox和IE在记事本上显示字节码。我们查看日志文件,但没有错误,也没有例外。
这是我的java报告代码:
@Path("print")
@GET
@UnitOfWork
@Produces("application/pdf")
public Response print(@Context HttpServletResponse response,
@QueryParam("mbsFileOid") String mbsFileOid,
@QueryParam("followAfterDate") Date followAfterDate,
@QueryParam("fileOid") long fileOid,
@Context UriInfo allUri) throws IOException{
OutputStream stream = response.getOutputStream();
List<Commitment> commitments = commitmentDao.findAllCommitmensByFileOid(""+fileOid);
List<CommitmentsReportValue> commitmentsReportValues = new ArrayList<>();
DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
for (Commitment commitment : commitments) {
CommitmentsReportValue commitmentsReportValue = new CommitmentsReportValue();
commitmentsReportValue.setAmount(commitment.getAmount().toString());
commitmentsReportValue.setSortId(""+commitment.getSortId());
commitmentsReportValue.setCommitmentDate(sdf.format(commitment.getCommitmentDate()));
commitmentsReportValues.add(commitmentsReportValue);
if(commitment.getCommitmentStatus() == Commitment.CommitmentStatus.NotPaid)
commitmentsReportValue.setStatus("Ödenmedi");
else
commitmentsReportValue.setStatus("Ödendi");
}
CoverCalculationDTO coverCoverCalculationDTO = mbsFileDao.getCoverCalculation(mbsFileOid,followAfterDate);
coverCoverCalculationDTO.setFollowTotalInterest(""+coverCoverCalculationDTO.getFollowAfterTotalInterest());
coverCoverCalculationDTO.setTotalBalance(""+coverCoverCalculationDTO.getLastTotalBalance());
MbsFile mbsFile = mbsFileDao.findById(mbsFileOid);
try {
buildAggregateReport(mbsFile,coverCoverCalculationDTO,commitmentsReportValues).toPdf(stream);
} catch (DRException e) {
LOGGER.info(e.getMessage());
}
response.addHeader("Content-Disposition", "inline; filename=\"rapor.pdf\"");
stream.flush();
stream.close();
return Response.ok().build();
以下是我本地服务器的屏幕截图:
听起来很荒谬。它在我的本地计算机上运行良好,但在部署时无效,没有错误没有执行。
你能帮我吗?