我使用自定义的ashx HttpHandler从数据库中检索gif图像,并在网站上显示它 - 当图像存在时,它效果很好。如何在asp.net中处理自定义HttpHandler的空返回?
但是,有些情况下,图像将不存在,我希望有HTML表格保持图像变得不可见,所以“图像未找到”图标不显示。
但是由于HttpHandler不同步,我所有在Page_Load上检查图像大小的尝试都感到沮丧。关于如何实现这一点的任何想法?
编辑::
这里的它是如何发生至今:
这是我的处理程序:
public void ProcessRequest(HttpContext context)
{
using (Image image = GetImage(context.Request.QueryString["id"]))
{
context.Response.ContentType = "image/gif";
image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
}
}
private Image GetImage(string id)
{
try
{
System.IO.MemoryStream ms;
byte[] rawImage;
Image finalImage;
// Database specific code!
rawImage = getImageFromDataBase(id);
ms = new System.IO.MemoryStream(rawImage, 0, rawImage.Length);
ms.Write(rawImage, 0, rawImage.Length);
finalImage = System.Drawing.Image.FromStream(ms, true);
return finalImage;
}
catch (Exception ex)
{
System.Console.WriteLine("ERROR:::: " + ex.Message);
return null;
}
}
我用它是这样的:
myImage.ImageUrl = "Image.ashx?id=" + properId;
你能展示一些代码吗? – janhartmann 2010-06-08 17:58:10
是的,请给我们看一些代码,因为你的问题可以有很多不同的方式,我们希望给你特定的帮助。 – 2010-06-08 17:59:52
按要求添加代码! – jehuty 2010-06-08 18:20:30