图像处理程序未加载图像

Image Handler not Loading Image

我正在使用图像处理程序调整图像大小。但它没有加载图像。

查看:

 <img src="ImageHandler.ashx?file=~/Images/Releases/koala.jpg" style="width:100px; height:100px;" />

图像处理程序代码。 抱歉,我无法在此处添加整个图像处理程序代码,因此添加为图像。 我在这里缺少什么。请提出建议。

我发现了两个问题。

  1. 请求中的 QueryString 值 URL 应该只是文件名 - ImageHandler.ashx?file=koala.jpg

    <img src="ImageHandler.ashx?file=koala.jpg" style="width:100px; height:100px;" />

  2. QueryString 名称应为 file 而不是 photo_url.

请确保以下代码在调整大小之前有效。

public class ImageHandler : IHttpHandler
{    
    public void ProcessRequest(HttpContext context)
    {
        string fileName = context.Request.QueryString["file"];
        string filePath = context.Server.MapPath("~/Images/Releases/" + fileName);

        context.Response.AddHeader("content-disposition", 
             string.Format("attachment; filename={0}", fileName));

        if (File.Exists(filePath))
        {
            byte[] bytes = File.ReadAllBytes(filePath);
            context.Response.BinaryWrite(bytes);
        }
        else
        {
            throw new HttpException(404, "Invalid photo name.");
        }
    }

    public bool IsReusable { get { return false; } }
}