我会创建一个Http处理程序来执行此操作。一些浏览器支持在标记中写入二进制图像,但这是非标准的,所以我会建议不要这样做。
如果你可以从你的查询字节做这样的事情:
然后创建的处理程序。
public class IISHandler : IHttpHandler
{
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/jpeg";
myent logo = new myent();
var query = (from p in logo.tblLogoes
where p.Id == id && p.Id2 == id2
select p.Image).First();
byte[] bytes = query.bytes;
context.Response.OutputStream.Write(bytes, 0, bytes.Length);
}
}
注册手柄:
<system.web>
<httpHandlers>
<!-- ImageHandler handlers -->
<add verb="*" path="myimages/*.jpg" type="namespace.IISHandler, namespace" />
</httpHandlers>
...
在您的网页让<img>
标记点的处理程序。
<img src="myimages/someimage.jpg">
你的代码很少显示你如何定位图像,id的名字?很可能你想传递一些标识符给处理程序,所以你可以提供正确的图像。
查看http://msdn.microsoft.com/en-us/library/ms972953.aspx,获取有关使用http处理程序提供动态内容的更深入示例。