UEditor富文本编辑器时,插入图片没有任何反应

Posted 隐语者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UEditor富文本编辑器时,插入图片没有任何反应相关的知识,希望对你有一定的参考价值。

1、信息: Unable to find ‘struts.multipart.saveDir‘ property setting. Defaulting to javax.servlet.context.tempdir

这是struts需要在struts.xml配置临时文件夹。

只需要在struts.xml的<struts></struts>中添加一下语句即可。

<constant name="struts.multipart.saveDir" value="/tmp"/>

原因:

1.struts.multipart.saveDir用于存放指定临时文件的文件夹,该配置在struts.properties文件中。例如:在struts.properties文件中加入如下代码:

struts.multipart.saveDir = /tmp

这样下次提交表单的时候就不会出现这个问题了!

 

2.如果没有用struts.properties文件,也可以在struts.xml中配置如下代码,效果一样:

<constant name="struts.multipart.saveDir" value="/tmp"/>

 

2、上传图片时如果提示“上传数据找不到”,则我们不能用struts自己的过滤器,我们要自己写一个,以下为步骤:

增加创建一个过滤器,用来过滤ueditor的上传请求:

 

技术分享图片
 1 package Filter;
 2 
 3 import java.io.IOException;  
 4 
 5 import javax.servlet.Filter;  
 6 import javax.servlet.FilterChain;  
 7 import javax.servlet.FilterConfig;  
 8 import javax.servlet.ServletException;  
 9 import javax.servlet.ServletRequest;  
10 import javax.servlet.ServletResponse;  
11 import javax.servlet.http.HttpServletRequest;  
12   
13 import org.apache.struts2.dispatcher.StrutsRequestWrapper;  
14 //由于UEditor图片不能上传自制的Filter过滤器
15 public class UeditorFilter implements Filter {  
16   
17     @Override  
18     public void doFilter(ServletRequest req, ServletResponse res,  
19             FilterChain chain) throws IOException, ServletException {  
20         HttpServletRequest request = (HttpServletRequest) req;  
21         String url = request.getRequestURI();  
22           
23             if (decideURI(url)) {  
24                 chain.doFilter(new StrutsRequestWrapper((HttpServletRequest) req), res);  
25             }else{  
26                 chain.doFilter(req, res);  
27             }  
28           
29     }  
30       
31     /** 
32      * ueditor编辑器中的图片上传和文件上传 
33      * @param url 
34      * @return 
35      */  
36     private boolean decideURI(String url){  
37         if(url.endsWith("imageUp.jsp")){  
38             return true;  
39         }else if(url.endsWith("fileUp.jsp")){  
40             return true;  
41         }//此处可能需要修改  
42         return false;  
43     }  
44       
45     @Override  
46     public void destroy() {  
47           
48     }  
49   
50     @Override  
51     public void init(FilterConfig filterConfig) throws ServletException {  
52           
53     }  
54   
55 }  
UeditorFilter

 

 

 

由于最新的百度UEditor编辑器,上传图片不是使用的imageUp.jsp

所有的上传都是使用的controller.jsp,所以将if中的判断改为 

if (url.endsWith("controller.jsp")) {
            return true;
        }

即可

 

注意还需要在web.xml中配置使用上面定义的过滤器,替换原来的那个默认过滤器,代码如下 :

1   <filter>  
2      <filter-name>struts2</filter-name>  
3     <filter-class>Filter.UeditorFilter</filter-class>  
4  </filter>  
5 <filter-mapping>  
6      <filter-name>struts2</filter-name>  
7      <url-pattern>/*</url-pattern>  
8  </filter-mapping>  

 

 
 就此,问题得到解决

 

技术分享图片



以上是关于UEditor富文本编辑器时,插入图片没有任何反应的主要内容,如果未能解决你的问题,请参考以下文章

解决百度富文本编辑器 UEditor 插入视频后没有路径的问题

百度富文本编辑器UEditor自定义上传图片接口

ueditor富文本编辑器跨域上传图片解决办法

我用百度富文本插入网络视频,插入后不能播放,如何解决?

Ueditor1.4.3.3 富文本编辑器在图片不显示问题

PHP UEditor富文本编辑器 显示 后端配置项没有正常加载,上传插件不能正常使用