<% '****************************************************************** 'checkfiletype 函数用来检查文件是否为图片文件 '参数filename是本地文件的路径 '如果是文件jpeg,gif,bmp,png图片中的一种,函数返回true,否则返回false '****************************************************************** const adtypebinary=1 dim jpg(1):jpg(0)=cbyte(&hff):jpg(1)=cbyte(&hd8) dim bmp(1):bmp(0)=cbyte(&h42):bmp(1)=cbyte(&h4d) dim png(3):png(0)=cbyte(&h89):png(1)=cbyte(&h50):png(2)=cbyte(&h4e):png(3)=cbyte(&h47) dim gif(5):gif(0)=cbyte(&h47):gif(1)=cbyte(&h49):gif(2)=cbyte(&h46):gif(3)=cbyte(&h39):gif(4)=cbyte(&h38):gif(5)=cbyte(&h61) function checkfiletype(filename) on error resume next checkfiletype=false 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 case "gif" stamp=fstream.read(6) for i=0 to 5 if ascb(midb(stamp,i+1,1))=gif(i) then checkfiletype=true else checkfiletype=false next case "png" stamp=fstream.read(4) for i=0 to 3 if ascb(midb(stamp,i+1,1))=png(i) then checkfiletype=true else checkfiletype=false next case "bmp" stamp=fstream.read(2) for i=0 to 1 if ascb(midb(stamp,i+1,1))=bmp(i) then checkfiletype=true else checkfiletype=false next end select fstream.close set fseteam=nothing if err.number<>0 then checkfiletype=false end function %> |
file.saveas server.mappath(filename) '保存文件 if not checkfiletype(server.mappath(filename)) then response.write "错误的图像格式" set fso = createobject("scripting.filesystemobject") set ficn = fso.getfile(server.mappath(filename)) ficn.delete set ficn=nothing set fso=nothing response.end end if |
function truestr(filetrue) str_len=len(filetrue) pos=instr(filetrue,chr(0)) if pos=0 or pos=str_len then truestr=true else truestr=false end if end function |
if truestr(filename)=false then response.write "非法文件" response.end end if file.saveas server.mappath(filename) |
如对本文有疑问, 点击进行留言回复!!
asp中Request.ServerVariables的参数集合
网友评论