3 回答
TA贡献1943条经验 获得超7个赞
在Web项目中添加“Generic Handler”,将其命名为Image.ashx。像这样实现它:
public class ImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
using(Image image = GetImage(context.Request.QueryString["ID"]))
{
context.Response.ContentType = "image/jpeg";
image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
}
}
public bool IsReusable
{
get
{
return true;
}
}
}
现在只需实现GetImage方法来加载具有给定ID的图像,您就可以使用了
<asp:Image runat="server" ImageUrl="~/Image.ashx?ID=myImageId" />
显示它。您可能还想考虑在处理程序中实现某种形式的缓存。请记住,如果要将图像格式更改为PNG,则需要使用中间MemoryStream(因为PNG需要保存可搜索流)。
- 3 回答
- 0 关注
- 516 浏览
添加回答
举报