ASP 絕對保證上傳圖片安全的圖片檢測函數 ChkImg()
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
<%
'------------------------------------------- '函數名: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打開了一下圖片,并未執行處理圖片的操作,所以本函數的執行效率還是非常高的,使用中基本不必擔心效率問題。 該文章在 2010/2/8 2:12:59 編輯過 |
關鍵字查詢
相關文章
正在查詢... |