【发布时间】:2015-06-08 09:28:25
【问题描述】:
我正在 C#.NET 中开发一个基于 MSSQL 数据库的内部应用程序。 用户可以上传链接到特定实体的图像。这些图像通常有 4 到 5 MB 左右,无法压缩存储。
现在这些图像存储在应用程序所在的文件系统中。打印图像子集(可能是 30 个)时存在滞后问题。它们通过数据库过滤并通过我从数据库获取的位置字符串加载,然后
Sytem.Drawing.Image.FromFile(locationstring)
我可以(并且必须)调整要打印的图像大小 (400x255px),以便在应用程序中查看它们,它们需要具有原始大小和质量。
我应该重新设计图片的存储方式,并实现一项功能,用户可以更改图片链接到的实体(我已经想通了)。
当它们通过应用程序存储时,我重命名图像 - 它们得到一个 GUID 作为名称 - 原始名称和它们所属的实体存储在数据库中。 我正在考虑将这些图像存储在数据库中而不是文件系统中。它们位于用户无权访问的目录中,因此对他们没有任何影响。
在这种情况下将图像存储在数据库中而不是文件系统中是否有意义?
目前应用程序数据库是 MSSQL2008R2,但可以切换到 MSSQL2014。 MSSQL 服务器和文件系统在外部托管并通过 Citrix 访问。该应用程序也通过 Citrix 托管。
【问题讨论】:
标签: sql-server image filesystems storage