无效的过程调用或参数: 'Instr'
出错的原因,是IE7/Firefox3中,上
一直使用asp无组件上传类来做asp的文件上传,最近发现,这个上传类在IE7/FireFox3中会出错,出错信息如下:
Microsoft VBScript 运行时错误 错误 '800a0005'
无效的过程调用或参数: 'Instr'
出错的原因,是IE7/Firefox3中,上传文件时不再包含文件在本地的完整路径,而只有文件名。这使得原有的文件名提取机制出错。上面的错误,就是因为Instr函数中的参数出错了。受到牵连的还有上传图片时,用JavaScript预览图片的功能。
解决方法:
1、治标方式。
IE7以上版本其实把文件上传是否发送完整的本地路径做成一个选项,在IE的Internet选项中可以设置。如下图:
图一,Internet安全选项
图二,完整路径选项设置
由于默认是禁用的,所以会出现问题,把它启用就可以解决问题了。但这是治标的方法,如果网页是面向普通用户的,你不可能要求所有用户都来改变这个设置。
治本方法
上传出现无效的过程调用或参数instr的解决办法 www.haohaoxx8.com 基本上出现在uploadclass.asp第138行,代码如下 if Instr(intTemp,strTemp,.)0 then 只要改成这样就行了。 if Instr(intTemp,strTemp)0 then