上海快3官方网

追萬軟件公司-專業從事企業軟件定制系統軟件開發用戶管理系統進銷存系統等軟件開發

軟件開發過程中,百度UEditor編輯器在服務中不能上傳圖片

不可否認,百度UEditor是一款非常優秀的web編輯器,近期我們在開發一套軟件項目過程中,就使用到這款編輯器,待項本地測試完全沒問題后,將文件發布到服務器,卻發現,該編輯器的上傳圖片功能不能使用,但系統默認的上傳功能是沒問題,這說明服務器該開的權限都開了。

我們在網上搜了一下各種各樣的解決方案,什么權限沒開等各式各樣說法,這些可能是針對該編輯器歷史版本解決方案,但對于1.4.3版本來說,完全沒有任何作用。
網上始終找不到任何有效解決方案,項目我們已經全部結束,只有這個編輯器小BUG,也不愿意把這么優秀的編輯器換掉,所以我們就硬著頭皮來解決這個骨頭,解決好之后,后面每個軟件開發項目都可以使用到這么優秀的編輯器,何樂不為呢?
下面上海軟件開發公司為你重點講述下這個BUG的原因及解決方案?
歸根結底還是路徑沒弄懂所導致的,IIS服務器中匿名賬號可以磁盤上的非用戶目錄,這就是為什么本地測試成功,傳到服務器或者空間不能用的原因了。
找到原因后,我們針對這個問題進行解決,打開Uploader.Class.asp找到CheckOrCreatePath函數,路徑不需要我們說了吧

savePath = Server.MapPath(rsFilePath)
CheckOrCreatePath(  GetDirectoryName(savePath) )
stream.SaveToFile savePath
修改成:
savePath = rsFilePath
CheckOrCreatePath(  GetDirectoryName(savePath) )
stream.SaveToFile Server.MapPath(savePath)

上海快3官方网修改CheckOrCreatePath函數:

原函數:

Private Function CheckOrCreatePath( ByVal path )

上海快3官方网        Set fs = Server.CreateObject("Scripting.FileSystemObject")

上海快3官方网        Dim parts

        parts = Split( path, "\" )

        path = ""

上海快3官方网        For Each part in parts

            path = path + part + "\"

上海快3官方网            If fs.FolderExists( path ) = False Then

上海快3官方网                fs.CreateFolder( path )

上海快3官方网            End If

上海快3官方网        Next

End Function

修改成:

上海快3官方网Private Function CheckOrCreatePath( ByVal path )

        Set fs = Server.CreateObject("Scripting.FileSystemObject")

        Dim parts,root

root  = "/"

上海快3官方网        parts = Split( path, "/" )

        path = ""

        For Each part in parts

上海快3官方网if trim(part) <> "" then

path = path + part + "/"

上海快3官方网If fs.FolderExists( Server.MapPath(root & path) ) = False Then

上海快3官方网fs.CreateFolder( Server.MapPath(root & path) )

End If

end if

        Next

End Function


將這代碼COPY進去,絕對沒有問題,我們已經將這更改的代碼發布到我們實際軟件開發項目中了,如果不把這路徑問題處理掉的話,那么你上傳圖片圖片永遠只能在本地運行,不能在服務器中運行了。

最新文章

熱門文章