您的位置:首页 > 产品设计 > UI/UE

百度ueditor后端配置错误,未找到上传数据,上传图片的完整步骤以及难点问题!

2017-08-05 09:25 633 查看
本人因需要编辑功能,自己钻研加网上找文档,终于弄出了上传功能。 

1  先说原理,不用在后台创建Action或者controller去接收ueditor上传的文件,你只需要设置上传的路径,他会自动给你上传到该目录下面,非常强大,并且是否带上Html头和尾自
     需要在ueditor.config.js中设置即可,默认是不带头尾的!另外如果项目使用maven就有点麻烦,并且使用Build Path --->Add to Build Path这个方法添加jar包是无效的,因为他只会引入maven下的jar包,但是maven中央仓库又没有这个包,你只能本地添加这个ueditor-1.1.2.jar,你可以选择本地添加或者编译后添加,我这边演示编译后添加。因为导入jsp/lib/ueditor-1.1.2.jar的时候maven中央仓库是没有这个jar包的,所以我在这里只教你一个临时的办法,具体,你可以在linux写个shell脚本。

      临时办法:maven编译过后会产生target文件,在编译过后先别启动tomcat  找到target/项目名-0.1-SNAPSHOT/WEB-INF/lib/这个目录下,然后把ar包复制粘贴到此路径下面。



如果没有这五个个包,上传功能将不能使用!!如果没有核心包ueditor-1.1.2.jar会出现:

后端配置项没有正常加载,上传插件不能正常使用!

如果你是tomcat 直接启动的,也可以在Eclipse中的tomcat 下面, 右击项目,选择



找到自己的项目,然后也是找到WEB-INF下面的lib 目录,把包放进去,如果启动后,发现里面有包还是会出现这个错误,就可能是下面的路径问题了。

还有一种错误也会出现这个情况





也会出现这种情况,路径配置不对,把中间那个js删除掉就好了~让他能找到那个ueditor-1.4.3.3包

建议按官网的来,比较简单。把你的编辑器包ueditor-1.4.3.3放在webapp下面就好,然后上面按我的加一个

window.UEDITOR_HOME_URL = "/yuneecuc/ueditor-1.4.3.3/";                                                             /项目名称/编辑器的包名称/;

这个在ueditor.config.js中添加 

总之就是要访问到这个包下面,后面的jsp/controller.jsp才能访问

如果jar已经引入,路径也是对的。建议清除浏览器数据和清除tomcat缓存在试试..........................

好了,大致的讲完了,现在再讲上传图片,本人框架是SSH

1 基本功能

导入对应的js后,注意js的先后顺序,然后body中定义个一个变量<script id="editor" type="text/plain" style="width:1024px;height:500px;"></script>然后在初始化一下,

<script type="text/javascript" language="javascript">

var ue = UE.getEditor('editor');

</script>


这样我们基本功能就有了






点击上传的时候出现了:






此问题见上面..........................

2 上传功能

    上面说过了,如果要上传功能必须导入四个jar包,但是maven没有最后一个jiar包,你可以按上面的"临时办法"来操作,编译完后导入这些jiar包在启动,注意,Build Path
--->Add to Build Path这样导入是没有用的。导入完后的效果:



看,可以上传了,刚才那个错其实就是没有引入jar包。

3 解决未找到上传数据问题



这个其实就是网上经常说的别Struts2拦截器拦截掉了数据,只需要写一个class文件然后在web.xml中去添加一个过滤器

下面我偷个懒,抄袭一波代码了直接贴代码了:

package com.suerp.action.xiata;

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{

    @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(request.getContextPath()+"/js/utf8-jsp/jsp/controller.jsp")) {             

            System.out.println("使用自定义过滤器");             

            chain.doFilter(req, res);         

        }else{             

            System.out.println("使用默认过滤器");  
a3fd
          

            super.doFilter(req, res, chain);         

        } 

    }

}



注意,一定要注意。路径一定要是绝对路径!!!否则还是无效的   这些网上的人没有考虑到路径的问题。这个问题我找了一天,才发现!!!

修改web.xml文件



其他的struts2 的都删掉!!

配置完毕。在看效果:



上传成功!!nice!!!



他会上传到这个路径,你可以自己配,想传哪就传哪里!!!写了我一个小时!!不懂的可以加我QQ961132897               老夫去也!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐