我有一些图像(主要是png和jpg)存储在SQL Server 2008的FileStream中。我能够检索所述图像并将其存储在MemoryStream中。
我有一个网页需要在MemoryStream中显示图像。我有什么办法可以在HTML图像标记内(甚至更好的是在ASP.NET Image控件内)显示MemoryStream的内容?
请您参考如下方法:
是,
将图像源指向ashx处理程序
让处理程序从数据库查询图像
将字节写入响应流并设置内容类型
html
<img src="loadimage.ashx?id=..."/>
向您的项目和loadimage添加通用处理程序
处理程序
class loadimage: ihttphandler
{
public void Process(HttpContext context)
{
var id = context.Request["id"];
var row = GetImageFromDb(id);
var response = context.Response;
response.AddHeader("content-disposition", "attachment; filename=" + row["anem of image"]);
response.ContentType = row["mime type"].ToString(); //png or gif etc.
response.BinaryWrite((byte[])row["image blob"]);
}
public bool Reuse { get {return true; } }
}