asp如何判断远程web文件是否存在?
如需要引用别的站点的图片,还不想对方换掉图片之后我这边无法显示,于是在引用之前先做判断
如http://www.123456.com/pic/123456.gif
先判断这个图片是否存在,如果存在(或者设定时间,在规定时间内能打开)则显示该图片,否则显示系统默认图片。
问题点数:50、回复次数:18Top
1 楼znjgress(四空和尚)回复于 2006-03-13 10:46:13 得分 0
描述
如果指定的文件存在返回 True;否则返回 False。
语法
object.FileExists(filespec)
FileExists 方法的语法有如下部分:
部分 描述
object 必选。应为 FileSystemObject 对象的名称。
filespec 必选。文件名,表示要确定是否存在的文件。如果文件不在当前文件夹中,则必须提供完整路径名(绝对路径或相对路径)。
Top
2 楼znjgress(四空和尚)回复于 2006-03-13 10:46:46 得分 0
FSO 应用Top
3 楼ghostzp(不做举人,如何榜眼探花)回复于 2006-03-13 10:51:47 得分 0
判断远程文件是否存在,速度会很慢,不建议判断Top
4 楼wizardnjau(泰达民工)回复于 2006-03-13 23:08:46 得分 0
那请问ghostzp(Your blood is mine!)
我又不想图片显示不出来影响站点美观怎么办呢?
有好办法么Top
5 楼wizardnjau(泰达民工)回复于 2006-03-13 23:18:05 得分 0
请问znjgress(四空和尚)
这个在本地可以
但是远程的图片测试总是找不到,file的地址是写“http://www.123456.com/pic/123456.gif”么,每次都提示找不到,但是图片是存在的Top
6 楼bibi5211()回复于 2006-03-14 09:36:45 得分 0
ajaxTop
7 楼bearzhan88(毛毛熊)回复于 2006-03-14 09:54:54 得分 0
FILESYSTEMOBJECT 只能做物理路径的文件判断,是用在你的网站服务器上的。
你可以通过判断页面连接的返回值来进行判断。
Top
8 楼hanpoyangtitan(韩波洋)回复于 2006-03-14 10:10:56 得分 5
是用xmlhttp的status,如果不是404的话,说明图片不存在Top
9 楼ghostzp(不做举人,如何榜眼探花)回复于 2006-03-14 11:48:03 得分 25
<IMG src="http://home/index.files/banners.gif" onerror="javascript:this.src='spil.gif'">
这个最方便,src放上你要的远程路径图片,onerror放上如果图片不存在后显示的图片Top
10 楼iuhxq(小灰)回复于 2006-03-14 12:45:34 得分 0
<IMG src="http://home/index.files/banners.gif" onerror="javascript:this.src='spil.gif'">
这个最方便,src放上你要的远程路径图片,onerror放上如果图片不存在后显示的图片
我测了一下,怎么不好用?能详细说说吗?Top
11 楼chzxq(毛毛鼠)回复于 2006-03-14 12:57:08 得分 0
<IMG src="http://home/index.files/banners.gif" onerror="javascript:this.src='spil.gif'"> 挺方便,不过速度有点慢Top
12 楼jiayihi(嘿嘿)回复于 2006-03-14 13:06:02 得分 10
'判断图片连接是否存在
Function filexist(remotefileURL)
dim xmlhttp
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
On Error Resume Next
xmlhttp.open "HEAD", remotefileURL, False
xmlhttp.send
If Err Then
err.Clear
filexist = False
Response.Write ""
exit function
End If
Select Case CInt(xmlhttp.status)
Case 200, 202, 302
filexist = True
Case Else
filexist = False
End Select
Set xmlhttp = Nothing
end functionTop
13 楼ghostzp(不做举人,如何榜眼探花)回复于 2006-03-14 13:11:41 得分 0
<IMG src="http://community.csdn.net/expert/images/rank/user5.gif"
onerror="javascript:this.src='http://community.csdn.net/expert/images/rank/star2.gif'">
iuhxq(小灰) ( ) 你不好用吗? 奇怪Top
14 楼iuhxq(小灰)回复于 2006-03-14 13:34:29 得分 0
现在又好有了,奇怪
hidotnet.com用onerror做了一个选择最快服务器的程序,不错Top
15 楼iuhxq(小灰)回复于 2006-03-14 13:35:17 得分 0
www.hidotnet.comTop
16 楼jiangzheng3(歪歪)回复于 2006-03-14 13:35:43 得分 10
ghostzp(Your blood is mine!)
支持
function Init_ImgAttrib(){
//<div id="vvs">
//<img src="http://www.baidu.com/img/logo-yy.gif" width="468" height="60" style="border:1px solid #CCCCCC;" onload='if(this.width>100) {this.width=100}'>
//</div>
for (var i=0; i<document.all.tags("IMG").length; i++){
var e = document.all.tags("IMG")[i];
/* -- 判断图片是否可用 方法一 -- */
/* 是否发生错误 判断 */
e.onerror = function (){
//发生错误说明图片没有正确装载,
//清除错误的图片地址----指定一个正确的图片地址代替错误的图片地址
// e.src = 'http://www.baidu.com/img/logo-yy.gif';
}
/* -- 判断图片是否可用 方法二 -- */
/* fileSize文件大小/fileCreatedDate创建日期 判断 */
if(!(e.getAttribute('fileCreatedDate'))){
//如果没有图片创建日期说明图片没有正确装载,
//清除错误的图片地址----指定一个正确的图片地址代替错误的图片地址
// e.src = 'http://www.baidu.com/img/logo-yy.gif';
}
/* -- 判断图片是否可用 结束 -- */
e.clearAttributes(); //清除图片原有的属性
e.setAttribute('border','0'); //设置边框属性1
e.style.border='1px solid #ff9900'; //设置边框属性2
if(e.width>80){e.width=80}
}
}Top
17 楼jiangzheng3(歪歪)回复于 2006-03-14 13:37:22 得分 0
用 MSXML2.ServerXMLHTTP 会产生错误
测试 http://img.baidu.com/img/logo-mp4.gif 能通过,但是实际
http://img.baidu.com/img/logo-mp3.gif 才存在Top
18 楼jiangzheng3(歪歪)回复于 2006-03-14 13:48:41 得分 0
对网站做了404叶面处理的网站 MSXML2.ServerXMLHTTP 的返回状态判断不了Top




