使用图像和视频创建静态内容,并将其显示在我的spring-boot应用程序中

时间:2019-11-24 21:31:52

标签: spring spring-boot spring-mvc static-site

我写了一些基于spring boot的基本博客系统。 我试图弄清楚如何在不使用HTML编辑所有内容的情况下创建包含视频和图像的帖子。

现在,我将博客文章以纯文本格式保存在DB中。 是否可以创建包含文本,图像和视频的内容,并将此“内容”保存为我的DB表中的一行,而无需在不同的表之间创建连接?

非常感谢。

2 个答案:

答案 0 :(得分:0)

图像和视频内容繁重,将它们存储在数据库中可能是一件昂贵的事情,直到您出于研究目的而开发应用程序为止。此外,从数据库查询并通过网络提供服务也会影响您的应用程序性能。

如果要将其存储在一行中,也可以使用数据库BLOB对象来完成。但我建议有2个不同的表。一个包含图像和视频的BLOB对象的对象,另一个包含您的常用表,该表包含博客作为BLOB表的文本和主键。

如果您希望将解决方案投入使用,则由于以下因素,最好使用图像视频托管服务器

  1. 节省您的数据库成本
  2. 确保24x7全天候可用
  3. 应用程序性能更快,因为它们独立于应用程序托管
  4. 可以直接对视频进行格式化,即,您无需查询完整的记录MB并通过网络进行投放

答案 1 :(得分:0)

对于您的问题的严格回答,是的,您可以使用BLOB将视频/图像存储在数据库中。可以将它们视为包含视频或图像字节的列。

对于学校/您的视频/图像量很少的情况,可能还可以。但是,如果您要构建一个真正的应用程序,那就不要做:)

每个DBA都会提出很多担忧,“为什么不使用Blob”。

因此,更现实的方法是在AWS中找到一些“文件系统”,例如存储(但分布式)样式S3,如果不在云中则在服务器上hardrive等。

然后将大图像/视频存储在此处,并获取一个标识符(例如,如果我们谈论硬盘驱动器,则指向它的路径),并将该标识符以及您可能已经存储的元数据存储在数据库中(例如blogPostId ,文件类型等)

一旦应用程序变得更加“成熟”,您就可以切换“提供者”了。甚至还有专门为图像设计的云存储(例如Cloudinary)。