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包

相关推荐
沃夫上校8 分钟前
Feign调Post接口异常:Incomplete output stream
java·后端·微服务
q5673152317 分钟前
Java Selenium反爬虫技术方案
java·爬虫·selenium
张小洛20 分钟前
Spring IOC容器核心阶段解密:★Bean实例化全流程深度剖析★
java·后端·spring·ioc容器·bean实例化
不良手残29 分钟前
IDEA类和方法注释模板设置-保姆教程
java·开发语言
GoodStudyAndDayDayUp34 分钟前
调用海康API预览视频
java·海康
李迟39 分钟前
在Linux服务器上使用kvm创建虚拟机
java·linux·服务器
Dcs40 分钟前
6 个 PWA 高阶策略,助你提升用户留存与参与度
java
hdsoft_huge1 小时前
Spring Boot 高并发框架实现方案:数字城市的奇妙之旅
java·spring boot·后端
就改了1 小时前
JUC小册——公平锁和非公平锁
java·开发语言
ThetaarSofVenice1 小时前
垃圾收集相关算法Test
java·jvm·算法