Spring Boot整合UEditor,解决找不到上传文件的问题
来源:互联网 发布:js滑动下拉菜单 编辑:程序博客网 时间:2024/05/16 04:23
在实践中如果贸然尝试使用Controller会导致上传文件失败,原因是因为Spring Boot的Request不能强转成为MultipartRequest,只能通过注解请求数据的键作为参数才能获得上传的文件。这里给一个最佳实践,可以不必大幅度修改Spring Boot的配置和UEditor源码,即可快速整合UEditor。
1、第一步,下载UEditor完整源码包,解压缩,把com.baidu.ueditor整个包的源码导入到工程中。
2、第二步,把UEditor的前端静态文件都放在网站的ueditor路径下。
3、第三步,在JSP源码路径中找到config.json,也复制到网站的ueditor路径下。
4、第四步,在项目中写如下的Sevlet类,它可以直接绕过Spring Boot的控制
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.baidu.ueditor.ActionEnter;@WebServlet(name = "UEditorServlet", urlPatterns = "/UEditor")public class UEditorController extends HttpServlet {public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding( "utf-8" ); response.setHeader("Content-Type" , "text/html"); PrintWriter out = response.getWriter();ServletContext application=this.getServletContext();String rootPath = application.getRealPath( "/" ); String action = request.getParameter("action"); String result = new ActionEnter( request, rootPath ).exec(); if( action!=null && (action.equals("listfile") || action.equals("listimage") ) ){ rootPath = rootPath.replace("\\", "/"); result = result.replaceAll(rootPath, "/"); } out.write( result ); }}
5、第五步,修改com.baidu.ueditor下的ConfigManager类
将configFileName的值修改为"ueditor\\config.json"
6、第六步,修改网站路径下的ueditor/ueditor.config.js脚本
找到 , serverUrl: URL +
在后面的值中做修改,改为../UEditor,用来实现前端自动去访问接口的操作。
7、第七步,写一个Controller,打开一个页面,页面的HTML这样写:
<script id="editor" type="text/plain" style="width:100%;height:300px"></script></div><script>$(document).ready(function (){var ue = UE.getEditor('editor');})</script>
其他说明:用Chrome浏览器时点击上传图片会有几秒钟的延时,原因不详,有待官方解决。
【关于有Tomcat运行时环境和Jetty运行时环境的区别设定】
感谢windlee09网友所提供的信息,经过实践观察,如果Spring Boot的运行方式是直接从main方法运行,那么需要在SpringBoot的Application类上加上@ServletComponentScan注解。如果采用的是maven clean package tomcat7:run,则无需添加该注解,Tomcat会负责搜索注解类。
- Spring Boot整合UEditor,解决找不到上传文件的问题
- 解决spring boot上传文件MultipartFile找不到,报错的问题
- spring Boot + Ueditor整合
- 解决使用Spring Boot、Multipartfile上传文件路径错误问题
- 解决使用Spring Boot、Multipartfile上传文件路径错误问题
- 解决ueditor上传文件到tomcat虚拟路径等问题
- easyui ueditor 整合解决不能编辑的问题
- ueditor整合struts2图片无法上传问题
- 解决ueditor图片上传的弹出窗口被遮盖问题
- Spring boot 文件上传
- spring boot 文件上传
- Spring-boot 文件上传
- Spring Boot 文件上传
- spring-boot 文件上传
- 上传文件找不到问题
- 详细全面的Spring Boot文件上传
- spring与hibernate整合时实体类映射文件找不到的问题
- 解决Spring Security 表单上传文件CSRF失效的问题
- yii2过滤xss代码,防止sql注入教程
- 【算法概论】6.动态规划
- uniform 中checkbox通过jquery 选中
- 稳定排序和不稳定排序
- 闰年的计算问题
- Spring Boot整合UEditor,解决找不到上传文件的问题
- 用MPAndroidChart实现可滑动的柱状图
- 预编译头超出上限错误 就是include比较多
- MTK平台内置应用Android.mk文件编写
- C# CookieHelper.cs!
- yarn介绍
- ios学习--Runtime的使用场景
- jQuery 插件autocomplete 应用
- configure常用参数说明