Skip to main content
 首页 » 编程设计

c#之如何在MemoryStream中显示图像

2024年01月16日5findumars

我有一些图像(主要是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; } } 
}