【求助】ASP循环判断文件有效性出错
时间:2011-08-03
来源:互联网
picArr=split(pic,",") 'pic为多个图片文件的名称,之间用逗号分割的
for i=0 to ubound(picArr)
path=server.MapPath(picArr(i))
if not CheckFileType(path) then '判断该图片文件是否有效
response.write("<script>alert('您上传的文件有问题!\n\n请不要上传非法文件!');<//script>")
'fso删除文件
response.end
else
'图片有效时的处理语句
end if
next
当只上传一张图片时此程序无误,该函数也能正确判断文件的有效性。但当上传超过1张,也就是pic有多个内容时则从第2张图片处开始报错,不论该文件是否有效。。。
去掉文件有效性判断后一切正常。path值有且有效。
以下为CheckFileType函数内容
on error resume next
const adTypeBinary=1
dim jpg(1):jpg(0)=CByte(&HFF):jpg(1)=CByte(&HD8)
function CheckFileType(filename)
CheckFileType=false
filename=LCase(filename)
dim fstream,fileExt,stamp,i
fileExt=mid(filename,InStrRev(filename,".")+1)
set fstream=Server.createobject("ADODB.Stream")
fstream.Open
fstream.Type=adTypeBinary
fstream.LoadFromFile filename
fstream.position=0
select case fileExt
case "jpg","jpeg"
stamp=fstream.read(2)
for i=0 to 1
if ascB(MidB(stamp,i+1,1))=jpg(i) then CheckFileType=true else CheckFileType=false
next
end select
fstream.Close
set fseteam=nothing
if err.number<>0 then CheckFileType=false
end function
[ 本帖最后由 glxwl 于 2011-8-3 14:32 编辑 ]
for i=0 to ubound(picArr)
path=server.MapPath(picArr(i))
if not CheckFileType(path) then '判断该图片文件是否有效
response.write("<script>alert('您上传的文件有问题!\n\n请不要上传非法文件!');<//script>")
'fso删除文件
response.end
else
'图片有效时的处理语句
end if
next
当只上传一张图片时此程序无误,该函数也能正确判断文件的有效性。但当上传超过1张,也就是pic有多个内容时则从第2张图片处开始报错,不论该文件是否有效。。。
去掉文件有效性判断后一切正常。path值有且有效。
以下为CheckFileType函数内容
on error resume next
const adTypeBinary=1
dim jpg(1):jpg(0)=CByte(&HFF):jpg(1)=CByte(&HD8)
function CheckFileType(filename)
CheckFileType=false
filename=LCase(filename)
dim fstream,fileExt,stamp,i
fileExt=mid(filename,InStrRev(filename,".")+1)
set fstream=Server.createobject("ADODB.Stream")
fstream.Open
fstream.Type=adTypeBinary
fstream.LoadFromFile filename
fstream.position=0
select case fileExt
case "jpg","jpeg"
stamp=fstream.read(2)
for i=0 to 1
if ascB(MidB(stamp,i+1,1))=jpg(i) then CheckFileType=true else CheckFileType=false
next
end select
fstream.Close
set fseteam=nothing
if err.number<>0 then CheckFileType=false
end function
[ 本帖最后由 glxwl 于 2011-8-3 14:32 编辑 ]
作者: glxwl 发布时间: 2011-08-03
顶起来,希望达人帮我

作者: glxwl 发布时间: 2011-08-05
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28