0

检查图片文件是否合法

作者:情留メ蚊子  发表于:2009年05月03日 22:32  分类:资源共享  2257 次阅读 

  1. '------------------------------------------- 
  2. '函数名:ChkImg
  3. '作 用:检查图片文件是否合法
  4. '参 数:img,图片路径,相对于网站根目录的绝对路径
  5. '返回值:布尔类型,如果图片合法返回True,否则返回False
  6. '条 件:服务器必须支持AspJpeg组件,
  7. '         如不支持,为了避免所有图片都不能上传,本函数将直接返回True
  8. '-------------------------------------------
  9. Function ChkImg(img) 
  10.     On Error Resume Next '为了捕获错误信息,需要让代码在出错时能继续执行 
  11.     Dim RetunValue, ChkJpeg 
  12.     RetunValue = True 
  13.     '如果路径为空,则认为图片不合法
  14.     If isnull(img) Then ChkImg = False:Exit Function 
  15.     Set ChkJpeg = Server.CreateObject("Persits.Jpeg")  
  16.     If -2147221005 <> Err Then    '如果组件被支持,则用组件检查图片的合法性
  17.         ChkJpeg.Open Server.mappath(img) 
  18.         If Err Then 
  19.             RetunValue = False 
  20.         End If         
  21.     Else    '如果组件不被支持,则跳过直接返回True
  22.         RetunValue = True 
  23.     End If 
  24.     '必要的善后工作
  25.  
  26.     If Err.number <> 0 Then Err.clear 
  27.     Set ChkJpeg = Nothing 
  28.     ChkImg = RetunValue 
  29. End Function 

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

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

函数来源于:一想千开

本文固定链接: http://www.94qing.com/share/ChkImg/ | 情留メ蚊子's Blog

检查图片文件是否合法:目前有0 条评论

    给我评论

    看不清?点击更换

    快捷键:Ctrl+Enter