wangEditor编辑器的使用

使用场景wangEditor  x-admin前端框架

文档手册地址:https://www.wangeditor.com/

第一步:在html 页面引入需要的js(最好把这些js 下载下来,本地引入)

<script type="text/javascript" src="https://unpkg.com/wangeditor/dist/wangEditor.min.js"></script>
<script type="text/javascript" src="http://www.wangeditor.com/js/jquery-1.10.2.min.js"></script>

第二步:编辑器的身体

<div id="div1">

 </div>

第三步:编辑器中上传图片时配置服务器的连接

         const E = window.wangEditor;
                const editor = new E('#div1');
                editor.config.uploadImgShowBase64=true;
                editor.config.uploadFileName = 'file';  //对应后台上传图片接口参数的名字
                editor.config.uploadImgServer = '/tool/uploadFilewangEditor'; //后台图片上传地址
                editor.config.uploadImgMaxSize = 3 * 1024 * 1024 // 将图片大小限制为 3M
                editor.config.uploadImgMaxLength = 1//限制一次最多上传 5 张图片

          editor.create()

第四步:上传图片后台的接口(一定要跟文档中上传文件后返回值组装一直)

 下面是我后台仿照数据结构写的controller,如下:他的文档写的可以上传多张图片,我这里是每次上传一张,多张时,上传一张调用一次

    @ResponseBody
    @RequestMapping(value = "uploadFilewangEditor", method = RequestMethod.POST)
    @ApiOperation(value = "上传图片", notes = "上传图片")
    public Object uploadFilewangEditor(@RequestParam("file") MultipartFile file) {
        List list=new ArrayList<Object>();
        Map<String,Object> map=new HashMap();//外层的map
        if (StringUtils.isNotEmpty(file.getOriginalFilename())) {
    
            String pathUrl =FileUpload.upload(file);
            Map<String,Object> map1=new HashMap<>();

            list.add(map1);
            map1.put("url",pathUrl);
            map1.put("alt","图片名称");
            map.put("errno",0);
            map.put("data",list);
        }
        return map;
    }

  第五步:获取编辑框的值和设置编辑框的值

editor.txt.html()//获取编辑框的值
editor.txt.html("值") // 重新设置编辑器内容

  第六步:这些都弄完后,编辑器可以正常使用,存到数据的值如下:

 这样在编辑器里都是正常的,问题是如果不通过wangEditor编辑器,图片都不能正常显示,可以看出这里都是相对路径,没有服务器的地址和ip,所以我又更改了controller 里的接口把图片的路径返回值改成服务器ip+端口+图片的相对路径

修改后的controller

   @ResponseBody
    @RequestMapping(value = "uploadFilewangEditor", method = RequestMethod.POST)
    @ApiOperation(value = "上传图片", notes = "上传图片")
    public Object uploadFilewangEditor(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
        List list=new ArrayList<Object>();
        Map<String,Object> map=new HashMap();//外层的map
        if (StringUtils.isNotEmpty(file.getOriginalFilename())) {
            //String pathUrl ="http://服务器ip:端口号/"+FileUpload.upload(file);
            // 组装成这种连接不仅编辑器里可以正常显示,不通过编辑器也可以正常显示
            InetAddress address= null;
            try {
                address = InetAddress.getByName(request.getServerName());
            } catch (UnknownHostException e) {
                e.printStackTrace();
            }
            String pathUrl ="http://"+address.getHostAddress()+":"+request.getServerPort()+FileUpload.upload(file);
            Map<String,Object> map1=new HashMap<>();

            list.add(map1);
            map1.put("url",pathUrl);
            map1.put("alt","图片名称");
            map.put("errno",0);
            map.put("data",list);
        }
        return map;
    }

  这样修改后,编辑器里可以正常显示图片,不用编辑器也可以正常显示。这是存到数据库的图片地址

 

原文地址:https://www.cnblogs.com/chenlijing/p/14978069.html