我正在将MS Word文档转换为HTML,然后我将在HTML5画布的I帧中显示,以及其他交互元素。
当然,转换后的文档将是一个包含html,css,image等文件的网页,这些文件都有助于最终显示。
我将这个应用程序中的所有多媒体存储在Mongodb的GridFS中。它由servlet提供。
我是否可以使用一个好的策略或实现来存储mongodb,构成网页的所有文件?我想将目录保存在GridFS的zip文件中,但我不想解压缩以便提供内容。
答案 0 :(得分:2)
我发现这个问题的解决方案非常简单:
您需要确保html / css / js中的所有链接都是相对的(当您将它们保存在mongodb中时,可以将它们从绝对转换为相对)。
您的servlet应正确处理所有请求,解析请求路径,读取请求的资源并将其作为结果返回。
例如。假设您有页面testA.html
,testB.html
,script.js
和style.css
。您将所有这些存储在MongoDB中,因此您应该知道文件的名称及其内容。让我们来看看你需要处理的事情:
http://yourmongodb/testA.html
- 您的servlet解析此URL,发现它需要文档testA.html,因此您需要在mongodb中找到此文档并返回其内容。 testA.html
的内容,找到script.js
和style.css
。如果您将所有内容保存为相对地址,那么浏览器将执行另外两个请求:http://yourmongodb/script.js
和http://yourmongodb/style.css
,这再次告诉您在mongodb中需要查找的内容以及您需要返回的内容。 testA.html
链接到testB.html
(并且链接是相对的) - 当用户点击链接时 - 浏览器会请求http://yourmongodb/testB.html
。 如果您还想支持目录,可以将此信息作为文件集合中的附加内容保存。