ASP 絕對(duì)保證上傳圖片安全的圖片檢測(cè)函數(shù) ChkImg()
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
<%
'------------------------------------------- '函數(shù)名:ChkImg '作 用:檢查圖片文件是否合法 '參 數(shù):img,圖片路徑,相對(duì)于網(wǎng)站根目錄的絕對(duì)路徑 '返回值:布爾類型,如果圖片合法返回True,否則返回False '條 件:服務(wù)器必須支持AspJpeg組件, ' 如不支持,為了避免所有圖片都不能上傳,本函數(shù)將直接返回True '------------------------------------------- Function ChkImg(img) On Error Resume Next '為了捕獲錯(cuò)誤信息,需要讓代碼在出錯(cuò)時(shí)能繼續(xù)執(zhí)行 Dim RetunValue, ChkJpeg RetunValue = True '如果路徑為空,則認(rèn)為圖片不合法 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 '如果組件不被支持,則跳過(guò)直接返回True RetunValue = True End If '必要的善后工作 If Err.number <> 0 Then Err.clear Set ChkJpeg = Nothing ChkImg = RetunValue End Function %> 注意:因?yàn)锳spJpeg只能處理已經(jīng)在服務(wù)器上的文件,所以實(shí)際運(yùn)用的過(guò)程中我們需要這樣做:先將圖片上傳到一個(gè)臨時(shí)文件夾,然后檢查圖片的合法性,如果合法,復(fù)制圖片到圖片保存目錄,刪除臨時(shí)文件并返回上傳成功信息,如果非法,直接刪除臨時(shí)文件并返回錯(cuò)誤警告。 因?yàn)閮H僅只是用AspJpeg打開(kāi)了一下圖片,并未執(zhí)行處理圖片的操作,所以本函數(shù)的執(zhí)行效率還是非常高的,使用中基本不必?fù)?dān)心效率問(wèn)題。 該文章在 2010/2/8 2:12:59 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |