做1個新系統,有1個文章管理的模塊,文章是圖文的情勢。圖片管理1直沒找到好的控件,看到了UEditor,再1看,百度的,果斷試1下,對著文檔部署了1個環境,發現圖片部份有各種問題:
最后發現,UEditor是很硬朗的,其實各種問題都是配置的問題。
在圖片上傳這1部份遇到幾個問題:
1)圖片沒法上傳,提示無效的Action
2)圖片沒法回顯
3)圖片上傳以后,上傳目的文件夾沒有文件
第1個問題是我把config.json文件中的
"imageActionName": "uploadimage", /* 履行上傳圖片的action名稱 */
這個uploadimage改了,改成我自己寫的1個處理上傳文件的spring mvc controller。后來1想,不對,在ueditor的jar包里有幾個uploader相干的類和方法。然后我就又改回來了。
第2個問題是路徑配置的問題
還是config.json文件
"imageUrlPrefix": "http://localhost:8080/ueditor", /* 圖片訪問路徑前綴 */
"imagePathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上傳保存路徑,可以自定義保存路徑和文件名格式 */
這兩個配置改掉,就能夠了
第3個問題很簡單但是弄了很久,其實還是路徑的問題
弄好了上邊兩個問題以后,圖片可以回顯了,但是服務器上指定的文件夾就是沒有,還發現在多圖上傳#在線管理功能里邊,上傳過幾張圖片,在這里就會顯示幾張空圖,圖片是全部白色。到這里,實在想不出緣由,就下了個ueditor.jar的源碼,debug1下。導入ueditor.jar的源碼,把WEB_INF/lib目錄下的ueditor.jar刪掉。包里面類的不多,命名也很簡單明了,1下就找到了com.baidu.ueditor.upload.Uploader#doExec這個,debug到這個方法,看conf這個域的內容,發現rootPath所指的路徑,忽然1切都明白了。
我測試是用eclipse javaee版本測試的,大家都知道eclipse在debug web項目時不是把項目拷貝到tomcat下面,myeclipse是拷貝到tomcat下面,所以文件在上傳時,實際上是上傳到了${workspace}.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebappsearthueditorjspuploadimage(這是我這邊debug時的路徑),所以ueditor在多圖上傳#在線管理時找不到文件的真實路徑。
總結:ueditor使用方便,簡單又強大,定制方便。可以1試。