struts2:UEditor插入图片,上传失败,显示差号,没有错误信息
这个错误其实是自己代码的错误,相当愚蠢。如果不是巧合,这个bug可能会让我永远没法发现
我本来是做了一个项目,本地发布地址是xxxxxxxxx/zs。给客户发布的地址是xxxxxxxxx/zsyz。就这么个小问题,害我加了两条班,不过都是自己的错,活该。原因是这样的,
======大神的话=======================
Struts2的Filter会过滤到上传文件的request,封装为Struts2自己的MultiPartRequestWrapper,这个时候再到UEditor里的Uploader中用commons-fileupload组件解析request,就无法获取到正确的文件流,所以上传失败。
========不是我说的======================
因为这个原因,人家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;public class MyStrutsFilter extends StrutsPrepareAndExecuteFilter {public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; //不过滤的url String url = request.getRequestURI(); if ("/zs/ueditor/jsp/imageUp.jsp".equals(url)) { chain.doFilter(req, res); }else{ super.doFilter(req, res, chain); } }}