4

在一个应用程序中,我使用Fabric.js,它允许用户编写文本、绘制 SVG、插入图像等。
我想知道,存储这些数据的最佳方式是什么。

要求是:

  1. 能够查询数据(文本),这告诉我应该将它存储在数据库中(截至目前的 MySQL)

  2. 我有图像,而且我也以 iPad 为目标,因此图像对于它们的存储方式很重要。

  3. SVG 和 HTML/CSS 也将被保存。

  4. 我还想像 Quora 那样对内容进行版本控制,以便用户可以看到从过去版本到当前版本的更改。这还包括图像和 SVG 的版本控制。

我想知道 Google Docs 是如何做到的,因为它们还存储我们的文档、图纸等。

这样做的最佳方法是什么?

4

4 回答 4

2

我不知道它是否有帮助,但 Opera 浏览器提供了将网页保存到唯一文件 { mht 扩展名} 的选项,这会将所有文件 { css、图像、脚本等 } 存储在 base64 编码文本中以供以后使用 { when文档已打开}...也许这可以是一种存储数据的方式:P

于 2011-08-26T20:15:33.677 回答
1

如果您想有效地查询文本,那么将所有信息位单独放入数据库中可能是最有效的。也许你想玩OOXMLODF,它们可以作为你需要的所有信息的容器,然后 XML-storage(例如eXist)来存储和查询(例如文本)。由于这些标准是基于 XML 的,您可以将它们转换为 HTML(例如,此处此处),但为此编写在线编辑器是像 Google 这样的怪物可以做的事情。

于 2011-08-11T17:57:33.123 回答
1

您可以查看NoSQL数据库,例如MongoDBCouchDB

另请参阅在 NoSQL 存储中存储图像

于 2011-08-22T10:11:49.143 回答
1

我管理一个用户生成报告的 web 应用程序,发现将图像和二进制文件存储在文件系统中并从数据库链接到它们更有效。xml 或文本中的元素保存在数据库中以便于搜索 - 在您的情况下,这将包括 css/html 和 svg(即 xml)。使用数据库管理修订。

还可以查看这个关于在数据库中存储图像的线程。

看起来 Frabic.js 正在后端使用 node.js javascript 网络服务器 - 以前没有使用过,但您可能会调查哪些数据库最容易与 node.js 一起使用:

于 2011-08-27T12:41:13.793 回答