ueditor的是百度推出的一款在線編輯組件,功能很強大。所以引入到工具平台中來,大家可以自己做一些筆記或記錄。
1、點擊單圖片上傳按鈕無反應:
在ueditor.config.js
var URL = window.UEDITOR_HOME_URL || getUEBasePath(); //console && console.error("***URL***:"+URL); /** * 配置項主體。注意,此處所有涉及到路徑的配置別遺漏URL變量。 */ window.UEDITOR_CONFIG = { //為編輯器實例添加一個路徑,這個不能被注釋 UEDITOR_HOME_URL: URL // 服務器統一請求接口路徑 "http://localhost:8080" + ,serverUrl: URL + "jsp/controller.jsp"
在jsp頁面中增加一句定義UEDITOR_HOME_URL
<script type="text/javascript"> window.UEDITOR_HOME_URL = "/BBC-KIT/assets/js/ueditor/"; //使得serverUrl是指向controller.jsp的路徑
</script>
2、選擇圖片后,編輯框中顯示一直在加載,使用chrome開發工具檢查,有報錯:
Uncaught ReferenceError: errorHandler is not defined
檢查ueditor.config.json中配置少了一個逗號
{
"imageActionName": "uploadimage",
"imageFieldName": "upfile",
"imageMaxSize": 2048000,
"imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"],
"imageCompressEnable": true,
"imageCompressBorder": 1600,
"imageInsertAlign": "none",
"imageUrlPrefix": "http://localhost:8080/BBC-KIT",
"imagePathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}",/*自己調整過路徑,這里少了一個逗號*/
"scrawlActionName": "uploadscrawl",
......
}
3、自定義上傳圖片路徑,報400(bad request)
按ueditor得文檔自定義路徑重寫了getActionUrl 。其中uploadArticleImage.do是自己寫得圖片上傳請求
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl; UE.Editor.prototype.getActionUrl = function(action) { if (action == 'uploadimage' || action == 'uploadscrawl' || action == 'uploadimage') { return 'opt/uploadArticleImage.do'; } else if (action == 'uploadvideo') { return 'uploadVideo.do'; } else if (action == 'uploadfile') { return 'uploadFile.do'; } else { return this._bkGetActionUrl.call(this, action); } }
但選擇圖片后,ueditor做實時上傳,報錯經確認是upfile沒有獲取到。這個對象是在ueditor.config.json中配置的。檢查沒有問題。
最終確認需要在spring-mvc.xml中補一段上傳文件類型設置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"></property> </bean>