通过c在asp.net中存储和检索SQLServer2005中的图像#

通过c在asp.net中存储和检索SQLServer2005中的图像#,asp.net,Asp.net,如何使用c#在asp.net中存储和检索sql server 2005中的图像您可以将它们存储为二进制数据。 您可以编写一个模块(派生自IHttpModule),将其注册为RequestBegin事件。 当请求到来时,您可以从数据库中检索数据,并将其以请求的文件名和名称存储在磁盘上 此映像将由内置IIS处理程序自动返回(该处理程序使用本机代码编写,运行速度非常快)。是一个完成此任务的项目。您只需将存储和检索逻辑移到ASP.Net应用程序中即可。不建议这样做 最佳实践是将元数据(这里的元数据是图像

如何使用c#

在asp.net中存储和检索sql server 2005中的图像您可以将它们存储为二进制数据。 您可以编写一个模块(派生自IHttpModule),将其注册为RequestBegin事件。 当请求到来时,您可以从数据库中检索数据,并将其以请求的文件名和名称存储在磁盘上 此映像将由内置IIS处理程序自动返回(该处理程序使用本机代码编写,运行速度非常快)。

是一个完成此任务的项目。您只需将存储和检索逻辑移到ASP.Net应用程序中即可。

不建议这样做

最佳实践是将元数据(这里的元数据是图像文件名)存储在数据库中,并将其保存在文件系统中(例如c:\images)。然后,当您需要一个图像时,您可以向数据库询问它的名称,并从文件系统中检索它


这有助于您拥有一个紧凑的数据库,并使维护变得简单。处理大型数据库备份/恢复是一件令人头痛的事。

你能给我举个例子吗?@Chandan我很确定你应该能够通过Tony提供的步骤来解决这个问题。如果您不能,那么我认为您对Asp.Net的了解还不够,无法从一个示例中获得更多信息。Image类中没有类似于FromStream的函数使用(MemoryStream ms=new MemoryStream(imageData,0,imageData.Length)){ms.Write(imageData,0,imageData.Length);//使用内存流设置图像变量值。newImage=image.FromStream(ms,true);}System.Drawing.image肯定有FromStream方法。我的朋友,你说的是windows应用程序,而不是web应用程序。我明白我在说什么。您所需要做的就是修改应用程序以与ASP.Net应用程序一起使用。这已经够直截了当了。