如何将保存在文件流数据库sql server 2008中的图像绑定到图像控件

问题描述:

我已经使用sql server 2008的filestream来存储图像。我想回顾一下这个图像,并绑定到图像控制,但没有得到正确的路径。 请帮忙。如何将保存在文件流数据库sql server 2008中的图像绑定到图像控件

,你可以写一个网页,其中:

  • 接收该图像ID作为查询字符串参数
  • 从你的数据库中的图像二进制
  • 正确设置Response.ContentType
  • 写那些二进制数据使用Response.BinaryWrite或类似

你可以得到一些关键点通过阅读这篇文章:具体下面一些例子来FILESTREAM:Creating Thumbnail Images on the fly with ASP.Net

编辑

相信FILESTREAM列类型非常相似,一个二进制列,但SQL Server将它存储在文件系统而不是实际的SQL数据库文件中。在任何情况下,您都需要使用某种中间组件来读取二进制数据并输出内容作为响应。要做到这一点

的方法之一是使用的HttpHandler到你传递一些数据,你可以用它来识别记录拉:

public void ProcessRequest (HttpContext context) { 
    // Add some sort of validation if need be 
    var id = context.Request.QueryString["ImageID"])) 

    // Pull your data here based on that information 
    var dataObject = GetDataObject(id); 

    context.Response.ContentType = "image/png"; // or the applicable mime content type 
    context.Response.BinaryWrite((byte[])dataObject[0]["ImageFile"]); 
} 

这是一个简单的例子,你想使确定你有你的逻辑来拉DataTable或DataReader什么的。这个例子假设你有一个DataTable。有了阅读器,您需要在逻辑中添加阅读行。

你会最终调用这样的形象:

<img src="/imagehandler.ashx?ImageID=345" alt="" /> 

乔希