博客
关于我
判断远程文件是否存在
阅读量:660 次
发布时间:2019-03-16

本文共 980 字,大约阅读时间需要 3 分钟。

目标效果:

项目中显示视频列表时,如果缩略图不存在,则加载一个默认图片。而不是一个很丑的小红叉。其中缩略图图片是存在另外一个独立的视频服务器上的,所以我们不能用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;
    }

 

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

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

转载地址:http://ivdqz.baihongyu.com/

你可能感兴趣的文章
微信JS-SDK DEMO页面和示例代码
查看>>
测试tensorflow是否安装成功 出现 SyntaxError: invalid syntax的错误
查看>>
Flask--简介
查看>>
Frame--Api框架
查看>>
Boostrap技能点整理之【网格系统】
查看>>
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
查看>>
Git简单理解与使用
查看>>
echarts 基本图表开发小结
查看>>
adb通过USB或wifi连接手机
查看>>
JDK9-15新特性
查看>>
TreeSet、TreeMap
查看>>
JVM内存模型
查看>>
可变长度参数
查看>>
3、条件查询
查看>>
cordova打包apk更改图标
查看>>
GitHub上传时,项目在已有文档时直接push出现错误解决方案
查看>>
文件系统的层次结构
查看>>
vue(渐进式前端框架)
查看>>
vscode设置eslint保存文件时自动修复eslint错误
查看>>
Remove Extra one 维护前缀最大最小值
查看>>