解决网站访问图片404问题 如图:
解决后:
代码块:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; namespace SoonnetWebSite { /// <summary> /// Handler1 的摘要说明 /// </summary> public class Handler1 : IHttpHandler { private const string DEFAULTIMAGE_URL = "/SGL_Images/Userlogo_Smail_1173.jpg"; public void ProcessRequest(HttpContext context) { string imgPhysicalPath = context.Request.Url.ToString(); System.Drawing.Image image = null; if (File.Exists(imgPhysicalPath)) { //为空 image = System.Drawing.Image.FromFile(context.Request.PhysicalPath); } else { //如果图片不存在,放上默认的图片 image = System.Drawing.Image.FromFile(context.Server.MapPath(DEFAULTIMAGE_URL)); } //设置输出的类型 context.Response.ContentType = "image/jpeg"; //把图片保存到输出流里 image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); image.Dispose(); } public bool IsReusable { get { return false; } } } }
配置文件web.config
<add name="Handler1" verb="*" path="*.jpg" type="SoonnetWebSite.Handler1, SoonnetWebSite" /> <add name="名称" verb="请求类型,GET,POST,逗号隔开" path="文件类型,后缀结尾,或指定文件(aaas.csx)" type="命名空间.类名,程序集名称" />
大功告成。