【问题标题】:Storing images in MSSQL vs Disk在 MSSQL 与磁盘中存储图像
【发布时间】: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


    【解决方案1】:

    您应该将图像存储在磁盘中,并且其路径应该存储在数据库中。 如果你想重新调整图像大小(使用你的 C# 代码)将它放入另一个文件夹并将其路径存储在 db 中

    更多细节可以看

    Storing Images in DB - Yea or Nay?

    PHP to store images in MySQL or not?

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 2011-08-25
      • 2012-07-29
      • 2016-12-04
      • 1970-01-01
      • 2013-12-18
      • 2012-05-13
      • 2011-03-13
      • 1970-01-01
      相关资源
      最近更新 更多