如何在数据库中自动保存pdf报告?

时间:2015-10-11 11:21:17

标签: java mysql pdf java-ee birt

我的编程语言是java。我的应用程序是基于Web的应用程序。我正在使用BIRT生成pdf报告,但要求是在查看pdf报告后自动将它们保存到数据库中。在BIRT中,pdf文档是从rpt模板中即时生成的。当用户点击URL时,BIRT查看器应用程序将显示pdf文档。

要求是一旦生成pdf我需要在MySql数据库中保存pdf文件的副本。这应该自动发生。一旦用户查看pdf(当动态生成pdf时),pdf文件的副本应保存在数据库中。

请让我知道,我怎么能做到这一点?

2 个答案:

答案 0 :(得分:0)

这取决于你如何使用数据库,直接jdbc,hibernate,......但基本上你必须做以下事情:

  • 设计一个实体(和表)来保存blob。
  • 在MySQL中不使用BLOB非常小,更好LONGBLOB。
  • 从文件创建java.sql.Blob,通常您必须从文件中获取输入流。
  • 将blob附加到hibernate实体,查询参数,...
  • 存在。

我更愿意将文件存储在不同的实体/表中,并且还存储文件名,大小,MIME类型,日期......这些属性稍后会有所帮助。

在拥有该文件的实体与文件实体之间使用1:1的1:N关系。

希望它有所帮助!

答案 1 :(得分:0)

添加到malaguna的答案,关键是首先将PDF存储在数据库中,然后将其提供给客户端。这需要JDBC和Web编程的基本知识。查看servlet示例应用程序的源代码(您似乎正在使用它)。您只需将PDF输出保存为数据库中的BLOB(如malaguna建议的那样),然后再将其输出到客户端。

相关问题