在Mongodb中存储网页,包括html,css,图像等

时间:2013-07-29 19:48:00

标签: html html5 mongodb ms-word database

我正在将MS Word文档转换为HTML,然后我将在HTML5画布的I帧中显示,以及其他交互元素。

当然,转换后的文档将是一个包含html,css,image等文件的网页,这些文件都有助于最终显示。

我将这个应用程序中的所有多媒体存储在Mongodb的GridFS中。它由servlet提供。

我是否可以使用一个好的策略或实现来存储mongodb,构成网页的所有文件?我想将目录保存在GridFS的zip文件中,但我不想解压缩以便提供内容。

1 个答案:

答案 0 :(得分:2)

我发现这个问题的解决方案非常简单:

  1. 您需要确保html / css / js中的所有链接都是相对的(当您将它们保存在mongodb中时,可以将它们从绝对转换为相对)。

  2. 您的servlet应正确处理所有请求,解析请求路径,读取请求的资源并将其作为结果返回。

  3. 例如。假设您有页面testA.htmltestB.htmlscript.jsstyle.css。您将所有这些存储在MongoDB中,因此您应该知道文件的名称及其内容。让我们来看看你需要处理的事情:

    1. 用户请求页面http://yourmongodb/testA.html - 您的servlet解析此URL,发现它需要文档testA.html,因此您需要在mongodb中找到此文档并返回其内容。
    2. 浏览器解析testA.html的内容,找到script.jsstyle.css。如果您将所有内容保存为相对地址,那么浏览器将执行另外两个请求:http://yourmongodb/script.jshttp://yourmongodb/style.css,这再次告诉您在mongodb中需要查找的内容以及您需要返回的内容。
    3. 如果testA.html链接到testB.html(并且链接是相对的) - 当用户点击链接时 - 浏览器会请求http://yourmongodb/testB.html
    4. 如果您还想支持目录,可以将此信息作为文件集合中的附加内容保存。