聯 系 人:李總
聯系電話:13759574266
在線 QQ:89417157
郵箱:13759574266@qq.com
微信號:ynlongtou
地址:昆明市滇緬大道旁昆建路5號108智庫空間A座4樓
在本地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
完美解決上傳權限問題。
曾經win2008服務器操作系統,iis6.1也碰到過在ASP百度編輯器上傳圖片時提示“上傳失敗,請重試”的錯誤問題,用以上方法未能解決問題,用的方法如下,修改編輯器下asp下的uploader.class.asp文件中代碼,替換的代碼如下:
Private Function CheckOrCreatePath( ByVal path )
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Dim parts
parts = Split( path, "/" )
path = ""
For Each part in parts
path = path + part + "/"
If fs.FolderExists( path ) = False Then
fs.CreateFolder( path )
End If
Next
End Function
End Class
替換保存后,立刻解決問題,特整理了這篇文章記錄下來,下次再碰到就好處理了。也希望能給大家帶來方便。
另外,百度編輯器在上傳圖片文件時,顯示“文件大小超出”的完美解決方案如下:
怎么修改百度編輯器Ueditor的附件上傳大小,調整上傳文件大小限制,在asp文件夾下的config.json里面進行設置,找到上傳圖片配置項參數imageMaxSize,這里默認是2048000,也就是2M,可以設為例如50M,51200000,具體的根據自己的需求進行設置即可。
掃描關注官方微信