ueditor 在线附件和在线图片路径错误BUG补丁

  • 错误
  • 修解决办法
  • 代码:
    1. 错误

    2.           ueditor上传附件时显示和下载都是正常的,当下次点击在线附件时图片图标显示错误,再添加到网页中访问的时候出现404错误,比如:
      第一次添加:http://192.168.1.4:8080/uedit2/ueditor/jsp/upload/file/20140622/1403423931425017681.png
      第二次就变成了:http://192.168.1.4:8080/uedit2/C:/Program Files/Apache Software Foundation/Tomcat 7.0/wtpwebapps/uedit2/ueditor/jsp/upload/file/20140622/1403423931425017681.png

              用firebug查看网络可以发现,当请求 controller.jsp?action=listimg 或者controller.jsp?action=listfile 的时候后端返回的url竟然是后台文件的绝对路径,导致前端无法访问资源时出现404错误。

    3. 修解决办法

      虽然检查了配置文件很多次了,但是还是出现这个问题,也不知道是不是bug,ueditor后台代码挺复杂的,为了简单起见(怕改错) 就用了下面的方法偷懒一下。

      代码:

      把  jsp/controller.jsp 里面的代码修改一下

    4. ?
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      <%@ page language= "java" contentType= "text/html; charset=UTF-8"
       
           import = "com.baidu.ueditor.ActionEnter"
       
           pageEncoding= "UTF-8" %>
      <%@ page trimDirectiveWhitespaces= "true" %>
      <%
      request.setCharacterEncoding( "utf-8" );
      response.setHeader( "Content-Type" , "text/html" );
       
      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 );
      %>

    你可能感兴趣的:(ueditor 在线附件和在线图片路径错误BUG补丁)