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包

相关推荐
悦人楼29 分钟前
深入理解Java集合框架:核心接口、实现类与实战选择
java·windows·python
花开富贵ii1 小时前
代码随想录算法训练营第三十八天、三十九天|动态规划part11、12
java·数据结构·算法·leetcode·动态规划
##学无止境##2 小时前
深入剖析Java线程:从基础到实战(上)
java·开发语言·redis
麦兜*7 小时前
Spring Boot整合PyTorch Pruning工具链,模型瘦身手术
java·pytorch·spring boot·后端·spring cloud·ai编程·剪枝
岁忧8 小时前
(nice!!!)(LeetCode 每日一题) 3363. 最多可收集的水果数目 (深度优先搜索dfs)
java·c++·算法·leetcode·go·深度优先
陌上 烟雨齐10 小时前
Kafka数据生产和发送
java·分布式·kafka
Jinkxs10 小时前
高级15-Java构建工具:Maven vs Gradle深度对比
java·开发语言·maven
有梦想的攻城狮10 小时前
spring中的ApplicationRunner接口详解
java·后端·spring·runner·application
程序视点10 小时前
设计模式之原型模式!附Java代码示例!
java·后端·设计模式
振鹏Dong11 小时前
微服务架构及常见微服务技术栈
java·后端