相关疑难解决方法(0)

在DB中存储图像 - 是还是不?

所以我正在使用一个将图像存储在数据库中的应用程序.你对此有何看法?我更像是一种在文件系统中存储位置的类型,而不是直接将它存储在数据库中.

您认为利弊是什么?

database theory storage blob image

415
推荐指数
25
解决办法
59万
查看次数

将图片存储为文件或存储在Web应用程序的数据库中?

我的问题相当通用,我知道可能没有100%的答案.我正在构建一个ASP .NET Web解决方案,其中包含大量图片,并希望有相当多的流量.我确实想要达到性能.

我应该将图片保存在数据库或文件系统中吗?无论答案如何,我都更感兴趣为什么选择一种特定的方式.

非常感谢,Stefan

DUPLICATE:在DB中存储图像 - 是或否?,如何在文件系统中存储图像,存储少量图像:blob还是fs?可能还有其他一些.


评论:感谢许多好的答案.即使我喜欢使用100%数据库驱动的解决方案,我也会选择基于文件的解决方案.似乎今天有很好的解决方案来做我想要的数据库等,但我有一些理由不这样做.

  • 我将使用托管解决方案,我有大量的存储空间(10gb)但数据库只有300mb.在DB中额外存储会花费很多.

  • 我不是数据库专家,也不能控制数据库的设置.基于数据库的解决方案可能需要自定义配置.

如果我们将在我们自己的服务器上运行该站点,我可能会考虑基于数据库的解决方案.谢谢,斯蒂芬

database asp.net filesystems image

119
推荐指数
6
解决办法
4万
查看次数

在DB中存储图像 - 联网桌面应用程序

相关: 在DB中存储图像 - 是还是不?

在阅读上述问题后,似乎使用数据库进行图像存储的首选方法是仅在数据库中存储文件路径.但是,大多数答案似乎都集中在Web服务器上.

就我而言,我正在开发一个桌面应用程序,它将在Intranet中的多台计算机上使用.专用服务器将托管数据库,其中包含与在各种设备上执行测试相关的信息.

图像需要以某种方式存储在服务器上.在这种情况下,将图像存储在数据库中是否是正确的方法,甚至是唯一的方法?

优点:

  • 备份仅限于数据库.
  • 无需打开服务器的文件系统到网络.
  • 服务器信息访问的单一协议.
  • 受保护的文件访问.(用户无法进入并删除所有图像)

缺点

  • 如果图像太多,将来会出现性能问题.

编辑:如标签中所述,应用程序是用C#/ .NET编写的.如果在这种情况下将图像写入文件系统是一个选项,我可以使用一些帮助来理解这是如何完成的.

编辑2:正如下面的评论中详细阐述的那样,现在我假设一个MySQL数据库,尽管SQL Server 2008的FileStream功能可能会改变它.

同样在我的情况下,图像将经常添加,并且在此之后可以被认为是只读的,因为它们永远不应该被更改,并且将在需要时被读出.图像可能很小(每个约70k),我也在考虑服务器上的其他二进制格式存储,每个文件大约20k,我可能会使用相同的存储和检索方法.

.net c# database image

5
推荐指数
2
解决办法
1465
查看次数

在SQL Server 2005 IMAGE列中存储20 Meg文件的最有效方法

我们将文档存储在SQL Server 2005数据库表中,列格式为"Image".

每次我尝试存储大于1兆的PDF文件时,它都会以某种方式被破坏.

在.NET中是否有任何特别有效的方法可以将大文件(~10megs)序列化并存储到数据库中?

[编辑]微软实际上说最大文件大小约为2G可变长度二进制数据从0到2 ^ 31-1(2,147,483,647)字节. http://msdn.microsoft.com/en-us/library/ms187993.aspx

c# sql-server database-design sql-server-2005 image

3
推荐指数
1
解决办法
1889
查看次数

存储上传图像的最佳方法

将图像作为blob存储在数据库中与在数据库中仅存储文件名相比有哪些优点和缺点.

我正在使用PHP(CodeIgniter)和MySQL.

我知道这个问题是主观的,但客户问我这个问题,我无法给出一个好的答案.

php codeigniter file-upload

2
推荐指数
1
解决办法
1369
查看次数

如何从数据库中读取图像

OleDbCommand and = new OleDbCommand();
c.Open();
and.Connection = c;
and.CommandText = "SELECT * FROM MaleShoes WHERE IDhere=ID ";
OleDbDataReader read = and.ExecuteReader();
while (read.Read())
{
    label6.Text = (read[1].ToString());
    textBox1.Text = (read[2].ToString());
    pictureBox1.Image = (read[3].ToString());  
}

c.Close();
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

错误1无法将类型'string'隐式转换为'System.Drawing.Image'

我该如何解决?

我的照片在第三栏的数据库中.

c# sql

2
推荐指数
1
解决办法
4068
查看次数