• 判断远程文件是否存在


    目标效果:

    项目中显示视频列表时,如果缩略图不存在,则加载一个默认图片。而不是一个很丑的小红叉。其中缩略图图片是存在另外一个独立的视频服务器上的,所以我们不能用File.Exist()方法直接判断,需要另辟蹊径。

    实现步骤:
    前台采用   asp:Repeater 控件,添加事件onitemdatabound="rptTraining_ItemDataBound"。

       protected void rptTraining_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            Image img 
    = (Image)e.Item.FindControl("img");
            
            
    if (!RemoteFileExists (img.ImageUrl ))
            {
                img.ImageUrl 
    = "images/memo.jpg";//如果图片不存在,则加载默认图片
            }
        }

    加载每一条记录的时候都检测一下远程服务器上是否存在图片,RemoteFileExists方法如下。
       

    /// <summary>
        
    ///  判断远程文件是否存在
        
    /// </summary>
        
    /// <param name="fileUrl">文件URL</param>
        
    /// <returns>存在-true,不存在-false</returns>
        private bool RemoteFileExists(string fileUrl)
        {
            
    bool result = false;//下载结果

            WebResponse response 
    = null;
            
    try
            {
                WebRequest req 
    = WebRequest.Create(fileUrl);

                response 
    = req.GetResponse();

                result 
    = response == null ? false : true;

            }
            
    catch (Exception ex)
            {
                result 
    = false;
            }
            
    finally
            {
                
    if (response != null)
                {
                    response.Close();
                }
            }

            
    return result;
        }

    至此,实现了想要的效果。

    知识虽小,重在点滴。积跬步方以至千里。

  • 相关阅读:
    解决英文版Windows中软件乱码问题
    退出程序时进行确认提醒
    Dreamweaver插件,FireFox插件名称集合
    网页炸弹根本就不算技术
    虚拟格式化硬盘
    当前上下文中不存在名称“Server”的原因
    ASP脚本在Webshell下的安全解决方案
    ASP.NET关于http/1.1 500 Server Error 的解决办法
    在网页文件中插入QQ强制聊天
    删除visual studio最近打开的项目列表
  • 原文地址:https://www.cnblogs.com/janes/p/1905625.html
Copyright © 2020-2023  润新知