UEditor百度富文本后端上传文件接口

UEditor百度富文本后端上传文件接口

直接上代码

接口:

java 复制代码
@RequestMapping("/UEditorConfig")
    public String list(HttpServletRequest request, HttpServletResponse response) throws IOException {

        String config = environment.getProperty("ueditor.config.dir");
        
        String action = request.getParameter("action");
        String noCache = request.getParameter("noCache");
        if ("config".equals(action))
            return (new ActionEnter(request, config, "")).exec();
        else{
            String encode = request.getParameter("encode");
            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

            MultipartFile file = multipartRequest.getFile("upfile");

            String fileName = file.getOriginalFilename();
            String contentType = file.getContentType();
            long fileSize = file.getSize();

            String filePath = FileUploadUtils.upload(file);
            JSONObject jsonObject=new JSONObject();
            jsonObject.put("state","SUCCESS");
            jsonObject.put("original","myz.png");
            jsonObject.put("size", String.valueOf(fileSize));
            jsonObject.put("title",fileName);
            jsonObject.put("type",contentType);
            jsonObject.put("url",filePath);
            return jsonObject.toString();
        }
        
    }

其实就两种情况

一、读取配置文件

前端加载富文本时会请求一次富文本接口,而且上传文件时也是用的这个接口

java 复制代码
if ("config".equals(action))
            return (new ActionEnter(request, config, "")).exec();

注意:ActionEnter是引入百度富文本的包

import com.baidu.ueditor.ActionEnter;

xml 复制代码
        <dependency>
            <groupId>com.gitee.qdbp.thirdparty</groupId>
            <artifactId>ueditor</artifactId>
            <version>1.4.3.3</version>
        </dependency>

如果接口返回如下内容,说明你成功了,前端应该可以上传文件了(不会报后端配置错误)

二、上传文件

本质上就是返回一个json,自己构建就好了

java 复制代码
else{
            String encode = request.getParameter("encode");
            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

            MultipartFile file = multipartRequest.getFile("upfile");

            String fileName = file.getOriginalFilename();
            String contentType = file.getContentType();
            long fileSize = file.getSize();

            String filePath = FileUploadUtils.upload(file);
            JSONObject jsonObject=new JSONObject();
            jsonObject.put("state","SUCCESS");
            jsonObject.put("original","myz.png");
            jsonObject.put("size", String.valueOf(fileSize));
            jsonObject.put("title",fileName);
            jsonObject.put("type",contentType);
            jsonObject.put("url",filePath);
            return jsonObject.toString();
        }

注意这里

HttpServletRequest里面的file要从 MultipartHttpServletRequest 拿出来

java 复制代码
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile file = multipartRequest.getFile("upfile");

FileUploadUtils.upload是我自己框架的上传文件方法,如果你的框架没有,可能需要自己写一个

java 复制代码
 String filePath = FileUploadUtils.upload(file);

搞定

ps:其实读取配置文件的接口本质上也是返回一个json,如果你愿意,也可以自己构建这个json,不引入百度的maven包

相关推荐
皮皮林55121 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河21 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程1 天前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅1 天前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者1 天前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺1 天前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart1 天前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP1 天前
MyBatis-mybatis入门与增删改查
java
孟陬1 天前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端