将图像保存到硬盘或作为字节数组存储在数据库中?

Kul*_*gar 2 c# asp.net arrays file-upload

可能的重复:
在数据库中存储图像 - 是还是否?

非常简单,我正在托管一个用户可以上传图片的网站,并且我有一个可以正常工作的 .net 文件上传控件。我只是想知道应该使用什么方法将它们存储在服务器上。

  • 我可以使用 FileUpload 控件的 SaveAs() 方法,将其保存为实际文件。
  • 我可以将图像分解为 Byte[] 并将其存储在数据库中以供访问。

我相信这里真正的问题是..我想要 IIS 还是 Sql Server 2008 R2 上的负载?

关于我应该使用哪种方法的普遍共识是什么?为什么?谢谢!

Guf*_*ffa 5

没有达成普遍共识,因为这两种方法都不是理想的。

将图像存储为文件意味着扩展应用程序以在多个服务器上运行变得更加困难。那么您将需要 SAN/NAS 来存储文件,而不是本地磁盘。

将图像存储在数据库中意味着您要使用大量图像数据的缓存空间,从而减慢其他查询的速度,并且还会增加数据库和备份的大小。这也意味着您必须通过页面提供图像,而不能直接请求文件。

因此,这取决于您将拥有多少图像,以及您需要应用程序的可扩展性。


归档时间:

查看次数:

2361 次

最近记录:

12 年,9 月 前