图像处理程序未加载图像
Image Handler not Loading Image
我正在使用图像处理程序调整图像大小。但它没有加载图像。
查看:
<img src="ImageHandler.ashx?file=~/Images/Releases/koala.jpg" style="width:100px; height:100px;" />
图像处理程序代码。
抱歉,我无法在此处添加整个图像处理程序代码,因此添加为图像。
我在这里缺少什么。请提出建议。
我发现了两个问题。
请求中的 QueryString 值 URL 应该只是文件名 - ImageHandler.ashx?file=koala.jpg
<img src="ImageHandler.ashx?file=koala.jpg" style="width:100px; height:100px;" />
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; } }
}
我正在使用图像处理程序调整图像大小。但它没有加载图像。
查看:
<img src="ImageHandler.ashx?file=~/Images/Releases/koala.jpg" style="width:100px; height:100px;" />
图像处理程序代码。
我发现了两个问题。
请求中的 QueryString 值 URL 应该只是文件名 -
ImageHandler.ashx?file=koala.jpg
<img src="ImageHandler.ashx?file=koala.jpg" style="width:100px; height:100px;" />
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; } }
}