百度ueditor在線編輯器上傳圖片錯(cuò)誤(無權(quán)限問題修復(fù))
發(fā)布時(shí)間:2016/5/25 點(diǎn)擊數(shù):6347
在本地iis服務(wù)器上可以正常上傳圖片的asp版百度ueditor編輯器,上傳到網(wǎng)絡(luò)服務(wù)器上,使用上傳時(shí)錯(cuò)誤,用firebug查看響應(yīng):uploader.class.asp中代碼:fs.CreateFolder(path )無權(quán)限;經(jīng)分析和測試,原來百度這個(gè)asp上傳組件是采取逐級檢測文件夾的機(jī)制,如:物理地址為:e:\website\xxxx\upload\image\20150529\,它會從e:檢測是否存在,但遇到網(wǎng)絡(luò)服務(wù)器設(shè)置的比較安全的,不在當(dāng)前網(wǎng)站的物理路徑是不允許訪問的,但程序認(rèn)為是不存在路徑,從而執(zhí)行下面的創(chuàng)建文件夾的操作,建e:文件夾?肯定會顯示無權(quán)限。
其實(shí)問題也好解決,在檢測過程中,先把本站所在根路徑獲取到,這個(gè)就不用檢測了,只用檢測本站根路徑下的文件夾是否存在就好了,這個(gè)權(quán)限一般的虛擬主機(jī)服務(wù)器是有的,把百度的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
完美解決上傳權(quán)限問題。