zoukankan      html  css  js  c++  java
  • asp.net页面中实现如果图片不存在则显示默认图片

    ASP.net开发中如果想要实现图片找不到时显示默认图片的功能,我们有以下几种方法:

    1。js

    可以获得页面上每个image标签的对象。然后再设置它的src属性就ok了。

    代码
    <script>

      function window.onload() {
        var img = document.getElementById("form1").getElementsByTagName("img")
        for (var i = 0; i < img.length; i++) {
            if (img[i].readyState == "uninitialized") {
                img[i].src = "../images/defaultImage.bmp";
            }
        }
    }

    </scirpt>

    2.webconfig配置

    在webconfig中配置可以简便实用的解决一些棘手的问题。首先,每次解决方案的运行都要加载webconfig配置文件。我们可以写个公共类来继承IHttpHandler。在webconfig中配置 <httpHandlers> </httpHandlers>。

    (1).类的方法

    代码
        public ImageManager()
        {
            //
            //TODO: 在此处添加构造函数逻辑
            //
        }
        private const string DEFAULTIMAGE_URL = "DEFAULT.JPG";

        public bool IsReusable
        {
            get { return false; }
        }

        public void ProcessRequest(HttpContext context)
        {
            //获得请求的每个图片的不同的物理地址
            string imgPhysicalPath = context.Request.PhysicalPath;
            System.Drawing.Image image = null;

    if (File.Exists(imgPhysicalPath))
            {
                            //为空

            }
            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();

    }

    (2).webconfig配置

    <add verb="*" path="路径/*.jpg" type="公共类名"/>

  • 相关阅读:
    打理自己的生活
    多线程练习 -- 自定义NSOperation
    多线程练习 -- 单例设计模式
    IOS学习笔记 -- 多线程
    画画板 -- 可自定义线的宽度和颜色
    手势识别器基本练习
    触摸事件练习 -- 手势解锁
    触摸事件练习 -- 画画板(截屏分类)
    Main.storyboard
    Quartz2D练习 -- 裁剪图片分类
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/2958358.html
Copyright © 2011-2022 走看看