如何在asp.net中显示sqlserver中存储的图像

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:43:36
想在aspx前台页面上,显示已经读入btye[]类型变量中的图像
Image控件好像只适合显示已知url的图片,没有DataSource属性
那么如何在Image上绑定这些从数据库中读出的byte[]类型信息呢?
由于页面设计和并非单一图片,不适合使用Reapone.Write或BinaryWrite等函数,最好使用控件本身去绑定它.如果字符字段,如下绑定,很方便
<td> <%# DataBinder.Eval(Container.DataItem, "content") %> </td>但图像字段,怎么办呢?
望大虾们不吝赐教!

Image 控件只能通过 URL 显示图片,不能通过二进制数据加载

绑定数据源的替代解决方案:

第一步:
另外做个 aspx 页面,如 showimage.aspx 文件,该页面通过传递过来的查询字符串参数,而从数据库中加载指定的图片:
int id;
int.TryParse(this.Request.QueryString["ID"], out id);
if(id != 0)
{
// 加载数据库图片的代码
//.......
//.......
Response.ContentType = "image/Gif";
Response.BinaryWrite(已经读入btye[]类型变量中的图像);
}

最后一步:
你在需要绑定数据源的页面,绑定记录的 ID 到 Image 控件的 ImageUrl="showimage.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id") %>" 就可以了。

自定义控件,添加byte[] ImageSrc属性,Render函数中进行图象展示

http://www.lcwork.cn