asp错误 Microsoft VBScript 运行时错误 (0x800A0009)

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:43:03
我的页面出现以上的错误,但是在另外一台电脑上运行就好好的,有人能解释下吗
Do While StartPos > 0
strlen = InStrB(StartPos, FormData, bCrLf) - StartPos
SearchStr = MidB(FormData, StartPos, strlen)
If InStr(bin2str(SearchStr), FormFileField) > 0 Then
FileName = bin2str(GetFileName(SearchStr,path,SavType,FsoType))

fnN = split(fileName,".")
intfnN = Ubound(fnN)

FileExtName = trim(fnN(intfnN))
FixFnN = Split(FixFileExt,"|")
intFix = Ubound(FixFnN)
for i = 0 to intFix
if lcase(FileExtName) = lcase(trim(FixFnN(i))) then
SaveFile = "fileError"
exit do
end if
next

其实就是一个上传文件的代码
intfnN = Ubound(fnN) 这一行出错
错误类型:
Microsoft VBScript 运行时错误 (0x800A0009)
下标越界: 'intfnN'

我用response.write 输出看了下,结果是-1

to ccppv:改成for i=0 to intFi

数组下标越界,报这个错会提示所在的行,用Ultraedit或其他任何可以看到行号的文本编辑软件打开这个文件,转到这一行,看看怎么写的,上下分析一下……
改成for i = 1 to intFix
BASIC类的语言,默认起始下标为1,非0……

把错误信息和你的源代码贴出来

for i = 0 to intFix

这里读取到了split后的元素个数,然后你是从0开始的,当然要少一个了,出现越界.

改成for i = 0 to intFix-1