这个问题不是关于特定的数据库引擎,而是关于实际内容。
例如,前端使用某种WYSIWYG编辑器(例如CKEditor)。在编辑器中存储用户输入的所有内容很容易,但这可能会破坏设计(未关闭的标记)或添加安全问题(标记)。此外,可能有图像,我们不能简单地将它存储在同一个字段中。
我们可以使用降价来规避大多数设计/安全问题,但如何将文件/图像与文本一起存储?
我应该创建另一张桌子吗?
posts
id
text
post_images
post_id
image_id
image_path
内部帖子文字有这样的内容
Hello, this is [image_id=22][/images/dgdgsdg.jpg] my image
还是有其他经过验证的解决方案?
所有大型社交网络都允许使用附加文件进行某种格式化,但是如何存储却没有头痛?
答案 0 :(得分:0)
我们可以使用降价来规避大多数设计/安全问题
事实并非如此。 Markdown可以包含内联HTML,您仍然需要验证/清除生成的HTML。使用Web框架的清理程序功能。
通常您只是将图像存储在服务器上,HTML(或降价)包含图像路径。您还可以将文件名更改为整个文件的哈希值。同样,通常有一些插件可以为您处理此类事情(例如,对于Ruby on Rails,paperclip)。