ASP绝对保证上传图片安全的图片检测函数 ChkImg()

王朝学院·作者佚名  2009-06-05  
宽屏版  字体: |||超大  

程序代码

<%

'-------------------------------------------

'函数名:ChkImg

'作用:检查图片文件是否合法

'参数:img,图片路径,相对于网站根目录的绝对路径

'返回值:布尔类型,如果图片合法返回True,否则返回False

'条件:服务器必须支持AspJpeg组件,

' 如不支持,为了避免所有图片都不能上传,本函数将直接返回True

'-------------------------------------------

Function ChkImg(img)

On Error Resume Next '为了捕获错误信息,需要让代码在出错时能继续执行

Dim RetunValue, ChkJpeg

RetunValue = True

'如果路径为空,则认为图片不合法

If isnull(img) Then ChkImg = False:Exit Function

Set ChkJpeg = Server.CreateObject("Persits.Jpeg")

If -2147221005 <> Err Then '如果组件被支持,则用组件检查图片的合法性

ChkJpeg.Open Server.mappath(img)

If Err Then

RetunValue = False

End If

Else '如果组件不被支持,则跳过直接返回True

RetunValue = True

End If

'www.knowsky.com 必要的善后工作

If Err.number <> 0 Then Err.clear

Set ChkJpeg = Nothing

ChkImg = RetunValue

End Function

%>

注意:因为AspJpeg只能处理已经在服务器上的文件,所以实际运用的过程中我们需要这样做:先将图片上传到一个临时文件夹,然后检查图片的合法性,如果合法,复制图片到图片保存目录,删除临时文件并返回上传成功信息,如果非法,直接删除临时文件并返回错误警告。

因为仅仅只是用AspJpeg打开了一下图片,并未执行处理图片的操作,所以本函数的执行效率还是非常高的,使用中基本不必担心效率问题。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有