首页 新闻 搜索 专区 学院

如果图片不存在,就显示默认的图片

0
悬赏园豆:50 [待解决问题]

运行后 网页上显示的图片路径是

http://localhost/CGD.Web/DNAImages//DNA_TImages/2011713164457859.jpg

我的代码是

类代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Drawing;
using System.IO;

public class DefaultImages : IHttpHandler
{

    /// <summary>
    /// 1.准备素材
    /// </summary>
    private string _DefaultImage = "~/Image/none.jpg";
 
    public void ProcessRequest(HttpContext context)
    {
        //2.准备在内存中的图片

        Image image = null;
     
        if (File.Exists(context.Request.PhysicalPath))
        {
          
        }
        else
        {
       // 3.2加载图
        image = Image.FromFile(context.Server.MapPath(_DefaultImage));
        }

        //4.1指定输出的格式
        context.Response.ContentType = "image/jpeg";
        //4.2真正保存到输出的流中
        image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
        //5.善后  关闭流  和 写
        image.Dispose();//关闭流
        context.Response.End();
    }

    #region IHttpHandler 成员

    public bool IsReusable
    {
        get { throw new NotImplementedException(); }
    }

    #endregion
}

我的web.config

 <add path="../DNAImages//DNA_TImages/*.jpg" verb="*" type="DefaultImages"/>

但是我设置的默认图片没有显示出来,求解,我认为是web.config里写的路径的问题,可是我改了好多中写法,都不行,求高人帮忙

问题补充:

图片原路径

http://localhost/CGD.Web/DNAImages/DNA_TImages/2011713164457859.jpg  改成这样了,

  web.config  改成

<add path="DNAImages/DNA_TImages/*.jpg" verb="*" type="DefaultImages"/>

可还是不行

kolylonely的主页 kolylonely | 初学一级 | 园豆:110
提问于:2011-07-13 16:59
< >
分享
所有回答(4)
0

能说下你说的“不行”时出现的问题是什么?有什么错误?

是希望完成这个功能还是找个取代方法也可以?

就我觉得,你这个不需要这么复杂,在生成页面的时候做检查不是更方便。

today4king | 园豆:3267 (老鸟四级) | 2011-07-13 22:39
没有任何的报错提示,只是不显示图片,显示一个没有找到的那种不友好界面(一个叉号)
支持(0) 反对(0) kolylonely | 园豆:110 (初学一级) | 2011-07-14 09:27
0

这种问题,90%是图片路径错误了.

LoveJenny | 园豆:532 (小虾三级) | 2011-07-14 06:33
郁闷的就是这个问题
支持(0) 反对(0) kolylonely | 园豆:110 (初学一级) | 2011-07-14 09:27
查看html页面,图片的路径,然后做调整.
支持(0) 反对(0) LoveJenny | 园豆:532 (小虾三级) | 2011-07-14 18:55
0

这个要排错很简单啊,你调试一下,看访问图片的时候,能不能进入断点,如果能进去,说明web.config配置是没有问题的。如果这个没有问题,你调试一下,为什么没有显示默认图片就简单了

李.net | 园豆:874 (小虾三级) | 2011-07-14 08:44
都没走cs里面,路径我试过了,另一个项目中的路径也是这样写的,都能用,只是另一个路径是http://localhost:1099/Images/Image/73dfdfdfdfdf.jpg 这个都行,这个调试的时候就走cs了
支持(0) 反对(0) kolylonely | 园豆:110 (初学一级) | 2011-07-14 09:31
web.config 里面是这样的
支持(0) 反对(0) kolylonely | 园豆:110 (初学一级) | 2011-07-14 09:33
0

还是要调试下,设置一个断点,我看我同事都是这么做的。

icepy | 园豆:587 (小虾三级) | 2012-05-15 17:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册