springboot整合ueditor 后端篇(简洁版)

此文适合前后端分离的ueditor整合springboot,首先要理解ueditor只是个前端的js工具,绝大部分功能都是前端完成。

但是但是图片,视频等需要和后端交互的功能就需要稍微配置一下后端,让那些功能能使用。

1.前一篇文章已经搭建好了前端环境,但是显示后端配置出错,无法使用上传功能。出现这个错误的原因是,前端初始化编辑器时,从后端获取配置时出现错误(就是获取上传功能的配置)

 

2.从官网可以了解到,此时我们需要配置从后端获取配置参数的接口。所以我们需要找到ueditor编辑器的配置文件ueditor.config.js

打开后可以看到前面箭头指向的是官方的默认配置,后面被注释掉的是我加上的我本地的springboot用来获取配置的接口。所以把官方那个换成我的注释掉的那个就可以了。

3.再重新刷新页面,发现还是出现了错误。红色箭头分别指向的是上一步配置的接口调用和返回的参数,结果为 “配置文件初始化失败” 。如下图:

4.第三步的结果说明没有获取到config.json配置文件的内容,所以接下来的目标就是获取到配置文件的内容返回到前端即可。

首先我们把需要的配置文件放到资源目录下,配置文件可以从官网下载的文件内找到。

5.准备好了配置文件后就是写接口获取到配置文件的内容,返回给前端即可。

      5.1,接口的controller类方法

@RequestMapping("config")
public Object ueditorConfig(HttpServletRequest request, String callback, String action)  {

    switch (action) {
        case "config": // 此处即为获取配置文件的case
            String myresult = UeditorConfig.CONFIG.getConfigStr(callback);
            return myresult;
        case "uploadimage":

            return this.uEditorFileUpload(request);
    }
    log.error("【调用接口失败】,没有匹配到操作");
    return "【调用接口失败】,没有匹配到操作";
}

    5.2,配合使用的UeditorConfig枚举类

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public enum UeditorConfig {
    CONFIG();

    private JSONObject config;

    UeditorConfig() {
        StringBuilder config = new StringBuilder();

        try {
//此处即为获取配置文件,因为springboot的原因,目前我只能用流来获取文件内容
            InputStream stream = getClass().getClassLoader().getResourceAsStream("ueditorConfig/config.json");
            BufferedReader buff = new BufferedReader(new InputStreamReader(stream));
            String temp = null;
            while ((temp = buff.readLine()) != null) {
                config.append(temp);
            }
            //把配置文件中的注释去掉
            String configStr = config.toString().replaceAll("/\\*[\\s\\S]*?\\*/", "");
            this.config = JSON.parseObject(configStr);
        } catch (Exception e) {
            this.config = null;
        }
    }

    public JSONObject getConfig() {
        return config;
    }

    public String getConfigStr(String callback) {
        if (this.config == null)
            return (callback + "(读取配置文件失败);");
        return (callback + "(" + this.config.toJSONString() + ");");
    }
}

 

 6.到此所有的配置就完成了。此时会发现前端获取配置的请求返回了配置文件的内容,编辑器也没有报错。但是这种方式不能使用ueditor封装好的上传文件的代码,所以上传图片,文件等都要我们自己去实现。(虽然需要自己实现,但是ueditor封装的方式局限性比较大,所以这种场景反而更常见,我目前也是这样的方法。使用官方提供的方式虽然已经踩过了不少坑,但是仍然需要继续完善,等以后有时间了再更新。)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值