欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

wangEdit富文本编辑器的使用

程序员文章站 2022-07-02 22:32:19
...

基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费

官网地址:http://www.wangeditor.com/

第一步:下载相关js

https://download.csdn.net/download/sfdcxz/10563284

https://download.csdn.net/download/sfdcxz/10563268

第二步:引入js

<script type="text/javascript" src="/js/wangeditor/wangEditor.js" ></script>

第三步:使用

 var editor;
$(function(){
	var E = window.wangEditor
	editor = new E('#editor')
	
	// 自定义菜单配置
	editor.customConfig.menus = [
//	 		    'head',  // 标题
			    'bold' /** 粗体*/, 'fontSize' /** 字号 */, 'fontName' /** 字体 */,'italic' /** 斜体 */,  
//	 		    'underline',  // 下划线
			    'strikeThrough',  // 删除线
			    'foreColor',  // 文字颜色
			    'backColor',  // 背景颜色
			    'link',  // 插入链接
			    'list',  // 列表
			    'justify',  // 对齐方式
			    'quote',  // 引用
	 		   // 'emoticon',  // 表情   打开后支持表情功能
			    'image',  // 插入图片
			    'table',  // 表格
			    'video',  // 插入视频
//	 		    'code',  // 插入代码
			    'undo',  // 撤销
			    'redo'  // 重复
	                         ]

	editor.customConfig.uploadImgServer = 'pn/imagetextmaterial/localUpload'  // 上传图片到服务器
	// 将图片大小限制为 1M
	editor.customConfig.uploadImgMaxSize = 1 * 1024 * 1024
	editor.customConfig.uploadFileName = 'file';
	editor.customConfig.showLinkImg= false;
	// 限制一次最多上传 1 张图片
	editor.customConfig.uploadImgMaxLength = 1;
	editor.create()
}
<div id="editor"  style="height: 324px;width:560px;" >

实现效果:wangEdit富文本编辑器的使用

第四步:获取富文本中的内容

var content=editor.txt.html();

第五步:实现图片上传

editor.customConfig.uploadImgServer = 'pn/imagetextmaterial/localUpload'
//接收图片的参数名为file,那么后台接收的时候必须指定参数名未file
editor.customConfig.uploadFileName = 'file';

后台代码:

 @ResponseBody
    @RequestMapping(value = "/localUpload",method=RequestMethod.POST, produces = "application/json; charset=UTF-8")
    public Object  localUpload(@RequestParam(value="file")MultipartFile file)
    {
    	JSONObject result = new JSONObject();
    	  // 检查file是否符合要求
        if (!this.checkImageMaterial(file))
        {
        	result.put("errno", SystemCode.IMAGE_MATERRIAL_TYPE_SIZE_ERROR.getCode());
            return result;
        }
        try
        {
            Map<String, String> map = imageTextMaterialService.upload(file);
            result.put("errno", 0);
            result.put("data", Arrays.asList(map.get("url")));
            return result;
        }
        catch (Exception e)
        {
            log.error("上传图片失败", e.getMessage(), e);
            result.put("errno", SystemCode.ERROR_500.getCode());
            return result;
        }
    }

后台返回jsonObject对象原因:wangEditor.js的源码中规定好了

 // 返回数据
            xhr.onreadystatechange = function () {
                var result = void 0;
                if (xhr.readyState === 4) {
                    if (xhr.status < 200 || xhr.status >= 300) {
                        // hook - error
                        if (hooks.error && typeof hooks.error === 'function') {
                            hooks.error(xhr, editor);
                        }

                        // xhr 返回状态错误
                        _this3._alert('上传图片发生错误', '\u4E0A\u4F20\u56FE\u7247\u53D1\u751F\u9519\u8BEF\uFF0C\u670D\u52A1\u5668\u8FD4\u56DE\u72B6\u6001\u662F ' + xhr.status);
                        return;
                    }

                    result = xhr.responseText;
                    if ((typeof result === 'undefined' ? 'undefined' : _typeof(result)) !== 'object') {
                        try {
                           //此处
                            result = JSON.parse(result);
                        } catch (ex) {
                            // hook - fail
                            if (hooks.fail && typeof hooks.fail === 'function') {
                                hooks.fail(xhr, editor, result);
                            }

                            _this3._alert('上传图片失败', '上传图片返回结果错误,返回结果是: ' + result);
                            return;
                        }
                    }

 

相关标签: 富文本编辑器