我的编程语言是java。我的应用程序是基于Web的应用程序。我正在使用BIRT生成pdf报告,但要求是在查看pdf报告后自动将它们保存到数据库中。在BIRT中,pdf文档是从rpt模板中即时生成的。当用户点击URL时,BIRT查看器应用程序将显示pdf文档。
要求是一旦生成pdf我需要在MySql数据库中保存pdf文件的副本。这应该自动发生。一旦用户查看pdf(当动态生成pdf时),pdf文件的副本应保存在数据库中。
请让我知道,我怎么能做到这一点?
答案 0 :(得分:0)
这取决于你如何使用数据库,直接jdbc,hibernate,......但基本上你必须做以下事情:
java.sql.Blob
,通常您必须从文件中获取输入流。我更愿意将文件存储在不同的实体/表中,并且还存储文件名,大小,MIME类型,日期......这些属性稍后会有所帮助。
在拥有该文件的实体与文件实体之间使用1:1的1:N关系。
希望它有所帮助!
答案 1 :(得分:0)
添加到malaguna的答案,关键是首先将PDF存储在数据库中,然后将其提供给客户端。这需要JDBC和Web编程的基本知识。查看servlet示例应用程序的源代码(您似乎正在使用它)。您只需将PDF输出保存为数据库中的BLOB(如malaguna建议的那样),然后再将其输出到客户端。