HI!你好,我是东莞网站建设_壹嘉壹,请问有什么可以帮助你的,你可以打电话给我哦。
营销型企业网站建设第一品牌
营销型企业网站建设专家
东莞网站建设企业营销型领航者   业务已覆盖:重庆 广州 深圳 长沙    咨询电话:0769-33250723 / 13724531865

你所在的位置:首页 > 网站建设技术 > 详情查看

ASP绝对保证上传图片安全的图片检测函数
来源:壹嘉壹 点击次数: 发表时间:2009-5-19 17:55:23



'-------------------------------------------
'函数名: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

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

    ChkImg = RetunValue
End Function



'-------------------------------------------
'函数名: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

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

    ChkImg = RetunValue
End Function


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

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

-

 




上一篇:ASP快速获取远程文件大小

下一篇:ASP比较常用的缓存函数



[S]网站设计知识  [Y]网站优化知识    [J]网站建设技术      [F]网站解决方案     [W]常见问题解答


关于我们 | 联系我们 | 付款方式 | 加入我们 | 友情链接 | 价格总览| 帮助中心 | xml地图

地址:东莞市南城鸿福路口鸿福广场A2009(新城市酒店20楼) 电话:0769-33250723 传真:0769-23605780
升级东莞网站策划-东莞网站设计-东莞做网站(东莞网站建设)-东莞网站优化-东莞网站维护 为一条龙服务

版权所有:壹嘉壹 2005-2010 All Rights Reserved
关键字:东莞网站建设 东莞营销型网站建设 营销网站建设 东莞网站策划 东莞网站设计 东莞做网站 东莞网站优化