WEB开发网
开发学院WEB开发ASP ASP绝对保证上传图片安全的图片检测函数 ChkImg()... 阅读

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

 2009-05-07 10:39:54 来源:WEB开发网   
核心提示:<%'---'函数名:ChkImg'作用:检查图片文件是否合法'参数:img,图片路径,ASP绝对保证上传图片安全的图片检测函数 ChkImg(),相对于网站根目录的绝对路径'返回值:布尔类型,如果图片合法返回True,否则返回False'条件:服务器必须支持asp

<%
'-------------------------------------------
'函数名:ChkImg
'作 用:检查图片文件是否合法
'参 数:img,图片路径,相对于网站根目录的绝对路径
'返回值:布尔类型,如果图片合法返回True,否则返回False
'条 件:服务器必须支持aspJpeg组件,
'如不支持,为了避免所有图片都不能上传,本函数将直接返回True
'http://www.cncms.com/asp.asp
'-------------------------------------------
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

   '必要的善后工作
   If Err.number <> 0 Then Err.clear
   Set ChkJpeg = Nothing

   ChkImg = RetunValue
End Function
%>


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

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

Tags:ASP 绝对 保证

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接