asp版百度ueditor在線編輯器上傳圖片錯誤(無權限問題修復)

2015年11月4日17:00:17 發表評論 4,864 ℃

在本地iis服務器上可以正常上傳圖片的asp版百度ueditor編輯器,上傳到網絡服務器上,使用上傳時錯誤,用firebug查看響應:uploader.class.asp中代碼:fs.CreateFolder(path )無權限;經分析和測試,原來百度這個asp上傳組件是采取逐級檢測文件夾的機制,如:物理地址為:e:\www\xxxx\upload\image\20151104\,它會從e:檢測是否存在,但遇到網絡服務器設置的比較安全的,不在當前網站的物理路徑是不允許訪問的,但程序認為是不存在路徑,從而執行下面的創建文件夾的操作,建e:文件夾?肯定會顯示無權限。

asp版百度ueditor在線編輯器上傳圖片錯誤(無權限問題修復)

其實問題也好解決,在檢測過程中,先把本站所在根路徑獲取到,這個就不用檢測了,只用檢測本站根路徑下的文件夾是否存在就好了,這個權限一般的虛擬主機服務器是有的,把百度的asp上傳組件uploader.class.asp里的CheckOrCreatePath過程修改如下:

把源代碼

   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

修改為

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


即可完美解決上傳權限問題。

【騰訊云】云服務器、云數據庫、COS、CDN、短信等云產品特惠熱賣中

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: