UEditor(五)——解决上传图片时报错:未找到上传数据

使用UEditor进行图片上传的时候报错,说未找到上传数据。因为这个插件以前用过上传图片时没碰到问题,所以想着应该是项目问题,项目是SSH框架,百度了一下,说是被拦截了。

这个原解决方案的链接:https://my.oschina.net/jiangli0502/blog/210263,说的比较详细。我这里就记录一下我自己的处理过程,备忘。

1、新建自己的过滤器,并且不过滤UEditor的连接

import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;

//自定义的struts2的过滤器
public class MyStrutsFilter extends StrutsPrepareAndExecuteFilter{
	@Override
	public void doFilter(ServletRequest req, ServletResponse res,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest) req;
		String url = request.getRequestURI();         
		//System.out.println(url);         
		if (url.contains("/KFCenter/news/ueditor/jsp")) {//ueditor的不拦截          
			//System.out.println("使用自定义过滤器");             
			chain.doFilter(req, res);         
		}else{             
			//System.out.println("使用默认过滤器");             
			super.doFilter(req, res, chain);         
		} 
	}
}

 2、修改web.xml配置文件:使用自己的过滤器替换掉struts的(拦截的类型不用变,以前是什么样就是什么样,我这里的项目原本就过滤action和jsp)

<filter>
		<filter-name>struts2</filter-name>
<!--	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>-->
		<filter-class>com.tzj.KFCenter.action.MyStrutsFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.jsp</url-pattern>
	</filter-mapping>

 3、注意将所有的jar包都引入:UEditor的jsp版本有另外的jar包,一定不要忘记了。

猜你喜欢

转载自1017401036.iteye.com/blog/2390131
今日推荐