必威体育Betway必威体育官网
当前位置:首页 > IT技术

ueditro的使用详解,亲自过坑

时间:2019-08-16 12:12:11来源:IT技术作者:seo实验室小编阅读:60次「手机版」
 

uedit

一.首先去官网下载ueditor的资源文件夹。导入到自己的项目中的webAPP的WEB-INF的某个文件夹下面。

它的下面有个controller.jsp文件,里面有java代码执行,我们如果要上传图片,文件,视频就必须要执行此文件。里面代码如下

<%@ 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("/");

    response.getoutputstream().print(new ActionEnter(request, rootPath).exec());

%>
在此之前请把官方文件中的5个jar包导入项目中,下载的资源文件中有,在jsp文件夹,lib文件夹中。注意:直接导入lib中jsp文件会访问不到。所以一定要作为maven依赖导入到项目中

多张上传图片的过程中会访问image.html等文件,这时候如果项目中设置了静态资源过滤,要把这些文件放到静态资源能够访问的地方,最稳妥的解决方式是布置两份,一份在WEB-INF中,一份在静态资源能访问的位置上

在ueditor.config.js中可以配置工具栏,如下所示:

   var URL = window.UEDITOR_HOME_URL || getUEBasePath();

   /**

* 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。

*/

   window.UEDITOR_CONFIG = {

   //为编辑器实例添加一个路径,这个不能被注释

   UEDITOR_HOME_URL: URL

   // 服务器统一请求接口路径

   , serverUrl: "/buzi/goods/test_pic"

   //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义

   , toolbars: [[

'undo', 'redo', '|','bold','fontsize','forecolor','justifyleft', 'justifycenter', 'justifyright', 'justifyjustify',

           'link', 'unlink','simpleupload','insertimage'

 

   ]]

说完这些后,我们就要开始配置项目了,首先在需要引入编辑器的jsp文件中,引入三个js文件

<script type="text/JavaScript" charset="utf-8" src="/js/ueditor/ueditor.config.js"></script>
    <script type="text/javascript" charset="utf-8" src="/js/ueditor/ueditor.all.min.js"> </script>
    <!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
    <!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
    <script type="text/javascript" charset="utf-8" src="/js/ueditor/lang/zh-cn/zh-cn.js"></script>
在需要引入编辑器的位置加上如下代码:

       <textarea id="myeditor" name="goodsDetailsPicture"  style="width:1150px;height:800px">${goodsSlave.goodsDetailsPicture}</textarea>

在js中加入如下代码:

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

此时编辑器并没有加载好,因为编辑器中所有的文件都是访问的controller.jsp文件,而且jsp文件中有java代码,我们必须要通过controller的.do方法去访问controller.jsp文件,这样才能把request中的参数以及各种参数带过去。我们编辑个.do方法去访问controller文件

    @RequestMapping("/test_pic")
    public String testPic() {
        return "buzi/ueditor/jsp/controller";
    }
访问:http://localhost:8081/buzi/goods/test_pic?action=config&nocache=1502952434173

       如果出现如下数据说明配置正确

很多时候我们上传图片,肯定想要它访问我们的上传图片接口,因为大部分公司都有自己的静态资源库,这时候可以在上传图片的jsp页面中做如下配置:

UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
    UE.Editor.prototype.getActionUrl = function(action) {
        //判断路径   这里是config.json 中设置执行上传的action名称
        if (action == 'uploadimage') {
            return '/buzi/pb/uploadImage';
        } else if (action == 'uploadvideo') {
            return '';
        } else {
            return this._bkGetActionUrl.call(this, action);
        }
    }

再在java中写好上传图片接口,返回map就可以成功配置了,如下:

/**

     * SpringMVC 用的是 的MultipartFile来进行文件上传

     * 这里用@RequestParam()来指定上传文件为MultipartFile

     * @throws IOException

     */
    @RequestMapping("uploadImage")
    @ResponseBody
    public Map<String,String> uploadImage(@RequestParam("upfile")  CommonsMultipartFile upfile,HttpServletRequest request) throws IOException {

        //文件原名称

        String fileName=upfile.getOriginalFilename();

        //为了避免重复简单处理

        String nowName=new Date().getTime()+"_" + fileName;
        CommonsMultipartFile[] upfiles = new CommonsMultipartFile[1];
        upfiles[0] = upfile;
        ArrayList<String> picPaths = FileUtils.pictureSave(upfiles, AdminThreadLocal.get().get("loginId") + "", "shop", "ShoppingMall", String.valueOf(system.currenttimemillis()), request);
        String picPath = picPaths.get(0);
        //返回结果信息(UEditor需要)

        Map<String,String> map = new HashMap<String,String >();

        //是否上传成功

        map.put("state", "SUCCESS");

        //现在文件名称

        map.put("title", nowName);

        //文件原名称

        map.put("original", fileName);

        //文件类型 .+后缀名

        map.put("type", fileName.substring(upfile.getOriginalFilename().lastindexof(".")));

        //文件路径

        map.put("url", picPath);

        //文件大小(字节数)

        map.put("size", upfile.getSize()+"");



        return map;

    }

相关阅读

Android开发使用LocationManager实现定位服务

做项目需要获取经纬度信息,学习了下android自带的定位API,简单实现了一下,这里记录一下。废话不多说,先上代码: private String locat

Android多线程:HandlerThread详细使用手册

前言 多线程的应用在Android开发中是非常常见的,常用方法主要有:继承Thread类 实现Runnable接口 Handler AsyncTask HandlerThread

Samba使用大全(绝对经典)

Samba使用大全(绝对经典) 转载于:http://www.360doc.com/content/16/0817/17/8335678_583901757.shtml (一)samba服务器 Samba协议基础

windows下使用FFmpeg生成PCM音频文件并播放(通过命令的

一、PCM文件的定义  PCM文件:模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志。Windo

Arm-开发板使用

一、secureCRT的使用(1)找到工具中的secureCRT,解压(2)找到secureCRT.exe并运行(3)配置端口(查看截图):协议:serial端口:查看设备管理器波特率

分享到:

栏目导航

推荐阅读

热门阅读