springboot整合UEditor

最近用springboot框架在做一个项目,在添加某一个模块的正文的时候想用UEditor富文本编辑器来添加,发现框架里面没有,于是就是自己整和,下面是我的步骤:

1.1、下载jsp版本的ueditor 

下载网址:https://ueditor.baidu.com/website/download.html

springboot整合UEditor_第1张图片

2.将下载好的文件放置如下图的路径下

springboot整合UEditor_第2张图片

3、在我们需要使用富文本编辑器的页面里面引入ueditor,并加入如下代码:

springboot整合UEditor_第3张图片




 var ueditor = UE.getEditor('container', {
        initialFrameWidth : 1190,       // 设置初始时的宽度
        initialFrameHeight: 500         // 设置初始时的高度
    });
    UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
    UE.Editor.prototype.getActionUrl = function(action) {
        // 如果触发了下面三个动作中,则进行文件上传操作
        if (action == 'uploadimage' || action == 'uploadscrawl' || action == 'uploadimage') {
            return '${ctx}/api/ueditor/imgUpdate'; //在这里返回我们实际的上传图片地址
        } else {
            return this._bkGetActionUrl.call(this, action);
        }
    }

 

 

4.编写controller

package com.jsite.modules.sys.web;


import com.baidu.ueditor.ActionEnter;
import com.jsite.common.config.Global;
import com.jsite.common.lang.StringUtils;
import com.jsite.common.utils.UploadUtils4;
import com.jsite.common.web.Servlets;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;
import java.util.List;


@Controller
@RequestMapping(value = "${adminPath}/api/ueditor")
public class UeditorController {





    @RequestMapping(value = "/ueditor")
    @ResponseBody
    public String ueditor(HttpServletRequest request, HttpServletResponse response) {

        String s = "{\n"+
                "            \"imageActionName\": \"uploadimage\",\n" +
                "                \"imageFieldName\": \"upfile\", \n" +
                "                \"imageMaxSize\": 2048000, \n" +
                "                \"imageAllowFiles\": [\".png\", \".jpg\", \".jpeg\", \".gif\", \".bmp\"], \n" +
                "                \"imageCompressEnable\": true, \n" +
                "                \"imageCompressBorder\": 1600, \n" +
                "                \"imageInsertAlign\": \"none\", \n" +
                "                \"imageUrlPrefix\": \"\",\n" +
                "                \"imagePathFormat\": \"/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}\" }";
        return s;

    }



//图片上传

    @RequestMapping(value = "imgUpdate")
    @ResponseBody
    public String imgUpdate(HttpServletRequest request) {
        List result = UploadUtils4.getInstance().uploadFile(request);
        String config = "";
        for (UploadUtils4.UploadResult uploadResult : result) {
            if (!uploadResult.err) {
                if (StringUtils.isBlank(uploadResult.chunk) || uploadResult.merged) {
                    config = "{\"state\": \"SUCCESS\"," +
                            "\"url\": \"" + uploadResult.fileRltvPath.replace("\\","/") +"\"," +
                            "\"title\": \"" + uploadResult.fileName + "\"," +
                            "\"original\": \"" + uploadResult.fileName + "\"}";
                }
            }

            return config;
        }
        return "error";
    }

}

5:修改配置:

springboot整合UEditor_第4张图片

该配置中服务器统一接口要和你写的controller中的一样,若你的文件上床功能是用MultipartFile upfile来接收的,那upfile必须要和你controller中的springboot整合UEditor_第5张图片这个相一致,不然会报空指针。

当上传图片返回是,返回的数据类型不能出错!!springboot整合UEditor_第6张图片

 

 

6:所有步骤完成后,springboot整合UEditor_第7张图片

如图;填写正确的图片上传地址

7这样问我们的整合就完成了,如下图:

springboot整合UEditor_第8张图片

你可能感兴趣的:(springboot)