Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mongodb中存储网页,包括html、css、图像等_Html_Mongodb_Ms Word_Database - Fatal编程技术网

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

在Mongodb中存储网页,包括html、css、图像等,html,mongodb,ms-word,database,Html,Mongodb,Ms Word,Database,我正在将MS Word文档转换为HTML,然后我将在HTML5画布中的I-frame中显示这些文档以及其他交互元素 当然,转换后的文档将是一个包含html、css、图像等文件的网页,所有这些文件都将用于最终显示 我正在Mongodb中的GridFS中存储此应用程序中的所有多媒体。它由一个servlet提供 是否有一个好的策略或实现,我可以用来存储在mongodb中,所有组成网页的文件?我曾考虑将目录保存在GridFS中的zip文件中,但我不想为了提供内容而解压。我认为解决此问题的方法非常简单:

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

当然,转换后的文档将是一个包含html、css、图像等文件的网页,所有这些文件都将用于最终显示

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


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

我认为解决此问题的方法非常简单:

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

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

  • 比如说。假设您有page
    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

    如果您还希望支持目录,则可以将此信息保留为文件集合中的附加信息

    这有帮助吗:没有真正的帮助-我目前正在使用GridFS存储视频、音频和图像文件,所以我大体上了解如何使用它。问题是,一个网页由许多文件组成,所有文件都相互引用(html、css、图像)。我想将其存储在mongodb/GridFS中,最好是作为一个自引用单元,并能够使用servlet将其提供给调用方。我不理解这个问题的含义-这是一个跨多种不同技术的问题-如何创建网页的数据版本,它由许多不同的文件组成,这些文件在内部相互引用。换句话说,除了基于文件系统的数据表示,还有什么替代方法。看起来很重要,很清楚,很精确。谢谢,这是一个很明显的答案,因为我没有使用路径。路径在GridFS中是可选的,文件id是获取文件的最快方式。我按id检索所有文件。但是,我可以使用path访问这些文件。第一部分激活servlet,第二部分将在Mongodb中找到该文件。正如您所说,我可以保持相对路径的一致性,这在web页面和Mongo中都有效。我需要创建一个方法来上传mongo GridFS DAO中的目录结构。这不是一件小事,但会奏效的。如果没有人提出更简单的建议,我会这么做。谢谢