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包

相关推荐
织码weavecodes5 分钟前
新闻资讯模块设计:内容发布、阅读计数与附件鉴权
java·服务器·数据库
学到老活到老10 分钟前
Spring 事务怎样生效?为什么加了 @Transactional 仍不回滚?
java·spring
学到老活到老11 分钟前
Spring 怎样创建 Bean?@Autowired 在哪一步生效?
java·spring
用户1129361121913 分钟前
我扫了项目里 739 个 Controller,发现最危险的越权漏洞不是没认证
java
小羊没烦恼!15 分钟前
分布式事务 | 使用DTM 的Saga 模式
java·linux·运维·数据库·wpf
JPower_mr.g28 分钟前
SmartCall v1.0.9 发布:智能体知识库上线,让 AI 客服先查资料再回答
java·ide·人工智能·macos·架构·开源·xcode
SL_staff37 分钟前
破除执行黑箱:用目标地图、资源热力图与健康度看板构建可下钻的执行事实链
java·开源·全栈
骑着蜗牛撵大象3271 小时前
让 Codex 值夜班:把告警排查与巡检接成可回滚的自动化链路
android·java·运维·ai·自动化·codex·智能体
木头科技1 小时前
【AI 工程化第十八篇】Spring AI 语音 Agent 实战:实时转写、WebSocket、流式 TTS 与打断机制
java·人工智能·安全·spring·性能优化
cfm_29141 小时前
SpringPrototype作用域
java