百度ueditor在線編輯器上傳圖片錯誤(無權限問題修復)
發布時間:2016/5/25 點擊數:6380
在本地iis服務器上可以正常上傳圖片的asp版百度ueditor編輯器,上傳到網絡服務器上,使用上傳時錯誤,用firebug查看響應:uploader.class.asp中代碼:fs.CreateFolder(path )無權限;經分析和測試,原來百度這個asp上傳組件是采取逐級檢測文件夾的機制,如:物理地址為:e:\website\xxxx\upload\image\20150529\,它會從e:檢測是否存在,但遇到網絡服務器設置的比較安全的,不在當前網站的物理路徑是不允許訪問的,但程序認為是不存在路徑,從而執行下面的創建文件夾的操作,建e:文件夾?肯定會顯示無權限。
其實問題也好解決,在檢測過程中,先把本站所在根路徑獲取到,這個就不用檢測了,只用檢測本站根路徑下的文件夾是否存在就好了,這個權限一般的虛擬主機服務器是有的,把百度的asp上傳組件uploader.class.asp里的CheckOrCreatePath過程修改如下:
Private Function CheckOrCreatePath( ByVal path )
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Dim parts,serverpath
serverpath=lcase(Server.MapPath("/"))
path=replace(lcase(path),serverpath,"")
parts = Split( path, "\" )
path = ""
For Each part in parts
path = path + part + "\"
If fs.FolderExists( serverpath & path ) = False Then
fs.CreateFolder(serverpath & path )
End If
Next
End Function
完美解決上傳權限問題。