我应该使用我的配置文件(sql配置文件提供程序)存储图像?

时间:2009-09-01 08:04:09

标签: asp.net database profile-provider

我正在asp.net中开发一个内部网webapp,它需要存储用户个人资料图像。

@edit:webapp应该同时在两个不同的Web服务器上运行。

我的问题是,最好的方法是什么?使用配置文件保存照片(我正在使用SqlProfileProvider)或将其上传到文件系统并只保存配置文件中的链接?

我理解从一个操作到另一个操作的性能差异,但我的内部网将被几百个用户使用,我非常希望将所有数据存储到一个地方(例如,使备份数据更容易)。 / p>

假设我将存储到数据库中的数据,还有另外两个问题:

a)我应该使用哪种类型来保存照片?字节[] ???

b)我应该创建一个处理程序来显示图像,还是有更简单的方法?

3 个答案:

答案 0 :(得分:2)

考虑数据库存储的唯一原因是在Web场方案中。如果您只有一台Web服务器,则使用文件系统更快更容易,只需在配置文件中存储图像路径。

答案 1 :(得分:1)

我目前正在数据库中使用Image字段来存储图像,但是,查看this documentation附带的警告,我想我应该转移到VarBinary。

然后我正在使用HttpHandler按照要求提供图像(尽管我的网站的最新版本在图像控制器上也有一个MVC文件操作处理程序,它可以执行相同的操作)。

我的处理程序的一个例子可以在这个答案中看到:

  

How to know which Image has been requested.

答案 2 :(得分:0)

备份应该包括你的网站文件夹,所以我认为使用文件系统和IIS没有明确的优势 - 存储和提供文件。

为什么要解决文件系统的抽象问题,完成IIS和MSSQL之间的所有线路流量,代码开销等等,以避免备份文件夹?