作者:哈哈哈-哈哈哈-哈哈哈 | 来源:互联网 | 2023-05-17 10:51
如果本身没有预览功能:
在 upload.asp 中查找
if Instr(intTemp,strTemp,".")<>0 then
大概在657行
在该上面添加
'如果intTemp 为0 对intTemp重新赋值为1;如果不为0那就默认即可
if intTemp <> 0 Then
intTemp = intTemp
else
intTemp = 1
end if
该代码即可
报错原因是
'如果ie浏览器>6的话,安全默认级别 禁用了 文件上传到服务器中包含本地路径的
因此 intTemp=InstrRev(strTemp,"\") 该行代码的返回值是 0
if Instr(intTemp,strTemp,".")<>0 then
Instr中的开始位置
'是从1开始的,如果为0 就会报错.为此我们在下面对intTemp做判断
如果代码带有 预览功能:
解决方法:
1、治标方式。
IE7以上版本其实把文件上传是否发送完整的本地路径做成一个选项,在IE的Internet选项中可以设置。如下图:
图一,点击浏览器的工具----》Internet安全选项
图二,完整路径选项设置----》设置为启动
由于默认是禁用的,所以会出现问题,把它启用就可以解决问题了。但这是治标的方法,如果网页是面向普通用户的,你不可能要求所有用户都来改变这个设置。
2、治本。
治本的方法只能靠改程序了。对于图片预览的,目前我还没有很好的方法获取到图片的本地完整路径,所以只能通过判断浏览器的版本,如果是IE7/FireFox3的版本,就提示不支持预览。对于上传文件功能的判断,问题既然知道原因了,解决的方法自然也就手到擒来了。在操作文件名是,注意是单纯的文件名,而非完整文件路径。