開發系統的時候,需要整合富文字編輯器功能。我使用的wangEditor
,這個編輯器清爽、簡便,該有的功能都有了,非常好用。
如需使用,可訪問官網。
在系統開發中使用SpringMVC
整合wangEditor
後端開發
因為涉及到上傳圖片,所以需要上傳配置。
後端上傳配置
1、上傳所需Jar包
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
複製程式碼
2、SpringMVC的xml 配置
<!-- 檔案上傳解析器 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 設定上傳檔案的最大尺寸為5MB -->
<property name="maxUploadSize">
<value>5242880</value>
</property>
</bean>
複製程式碼
3、程式碼編寫
@Value("${info.upload}")
private String path;
@Autowired
private InfomationService infomationService;
@CrossOrigin //跨域訪問
@RequestMapping(value="/save",method=RequestMethod.POST)
@ResponseBody
public Map<String,Object> save(@RequestParam("inputfile") MultipartFile inputfile){
Map<String,Object> map = new HashMap<>();
if(!inputfile.isEmpty()){
map.put("errno", 0);
//設定新的圖片名
String fileStr=inputfile.getOriginalFilename();
String newFilename=UUID.randomUUID().toString()+
ileStr.substring(fileStr.lastIndexOf("."));
//將圖片儲存到硬碟
try {
inputfile.transferTo(new File(path+newFilename));
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
//檔案地址
String[] data = new String[]{".../infoimg/"+newFilename};
map.put("data", data);
}
return map;
}
複製程式碼
上面我只提供了單檔案上傳,但是編輯器的檔案地址是陣列型別的。
前端開發
引入JS
script src=".../js/wangEditor.min.js"></script>
複製程式碼
wangEditor配置
var E = window.wangEditor;
var editor = new E('#editor');
// 或者 var editor = new E( document.getElementById('editor') )
//後端儲存圖片的孩子
editor.customConfig.uploadImgServer = '.../save';
//上傳圖片數量
editor.customConfig.uploadImgMaxLength = 1;
//上傳圖片名稱
editor.customConfig.uploadFileName = 'inputfile';
editor.create();
複製程式碼
圖片上傳返回資料
{
// errno 即錯誤程式碼,0 表示沒有錯誤。
// 如果有錯誤,errno != 0,
//可通過下文中的監聽函式 fail 拿到該錯誤碼進行自定義處理
"errno": 0,
// data 是一個陣列,返回若干圖片的線上地址
"data": [
"圖片1地址",
"圖片2地址",
"……"
]
}
複製程式碼
wangEditor
使用簡單方便,而且介面清爽很乾淨,非常推薦使用。