SSH系统下,Ueditor1.4.3编辑器配置,增加图片删除功能+数据库存储

版本说明:Ueditor编辑器 1.4.3JSP、UTF-8版本
菜鸟使用途中遇到很多困难,在网上不停的找解答方法,整理出来可供使用,有好的建议就更好了。
我的目标:
  • Ueditor编辑器嵌入到自己原来的项目中;
  • 只能添加不能删除图片,无用资源占用空间极不合理,所以在多图上传->在线管理添加了删除图片的功能;
  • 把编辑器编辑的内容存储到Oracle数据库
步骤
一、在JSP界面上添加Ueditor编辑器
下载官网:http://ueditor.baidu.com/website/download.html
下载文本后后解压,把整个ueditor1_4_3-utf8-jsp文件夹粘贴到项目/Webroot/js下,文件夹改名为ueditor。 
  1. ueditor\jsp\lib下面5个jar包剪切到项目的lib包下,特别注意其中2个jar包:commons-io-2.4.jar项目中不得有比他版本低的jar包,如commons-io-1.x.jar或2.0.jar,低版本一定要删除;ueditor-1.1.1.jar官方本身此jar包就有问题,用的是绝对路径而不是相对路径。附件如下ueditor-1.1.1.jar |||||||注意:ueditor-1.1.1.jar这个解决方法是从《jsp版ueditor图片在线管理返回绝对路径》这篇文章上学习,它的jar是JRE1.7编译,而我的是1.6,不兼容。附件我用jre1.6编译的,如果想用1.7,请看原文章。
  2. 在想要嵌入编辑器的JSP文件引入如下代码

    1 <script type="text/javascript" src="${ctx}/js/ueditor/ueditor.config.js"></script>
    2  <script type="text/javascript" src="${ctx}/js/ueditor/ueditor.all.min.js"></script>
    3 <link rel=stylesheet href="${ctx}/js/ueditor/themes/default/css/ueditor.css">
  3. 在<body></body>你想要的位置添加编辑器

    1 <script id="editor" type="text/plain" style="width:800px;height:500px;">内容,或从数据库读取</script>   

    同时其中添加下面代码,实例化编辑器

    1 <script type="text/javascript">
    2     //实例化编辑器
    3     </span>var ue = UE.getEditor(‘editor‘);
    4 </script>

   这时候就可以在界面看到编辑器了。

二、配置编辑器,上传图片和文件等

  1. ueditor.config.js中toolbars内容代表了将要显示出来的功能,如字体颜色、字号等,不想要的可以自行注释。
  2. 配置图片文件路径:ueditor.config.js中把注释内容window.UEDITOR_HOME_URL = "/xxxx/xxxx/";修改为

    1 "window.UEDITOR_HOME_URL =/项目名字/js/ueditor/";

    即ueditor文件夹的路径,同时去除注释。

  3. ueditor\jsp\config.json中,图片上传路径

    1 "imageUrlPrefix": "/改成项目名字", /* 图片访问路径前缀 */
    2 "imagePathFormat": "/js/ueditor/upload/image/{yyyy}-{mm}-{dd}/{time}_{rand:6}_{filename}", /* 图片存储路径,以及命名方式 */

    同理config.json下其他的都改了,上传文件、列出指定目录下的图片或文件等。

  4. 尝试上传图片,成功。若失败,查看tomcat下部署的文件夹下是否存在该图片,再分析原因。Ueditor图片不显示的一个原因:上传的图片名字是汉字。

三、存储编辑内容

  1. JSP界面设置保存按钮,

    1 var editorText = $.trim(UE.getEditor(‘editor‘).getContent());

    点击保存触发ajax事件,传递数据editorText到Web层XXXXaction.java,然后调用Service层,再到Dao层等一些流程。

  2. 存储方面的问题:由于数据量过大,因此oracle数据库采用clob类型的字段。Dao层的SQL语句是update语句,语句过长Oracle报错ORA-1704:string literal too long。困扰了我好久,网上说的办法

    1 declare  v_clob clob :=‘大数据‘;
    2 begin  insert into EDITOR values (‘2‘, v_clob);
    3 end;

    也也不行,最终方案:把数据截开,例如截成4段,第一段update

    1 declare
    2   v_clob clob := ‘大数据‘
    3 begin
    4   update EDITOR set EDITOR_TEXT = EDITOR_TEXT where XXX;
    5 end;  

    后面几段

    1 declare
    2   v_clob clob := ‘大数据‘
    3 begin
    4   update EDITOR set EDITOR_TEXT = EDITOR_TEXT||v_clob where XXX;
    5 end;  

    成功。

  3. 存储编辑器内容时,&nbsp之类的,即&XX不能存储。处理方法:用特殊字符替代&,后期读取的时候再替换回来。界面不允许输入该特殊字符

四、UEditor多图上传->在线管理添加了删除图片的功能。同理文件删除可用

  1. 在ueditor->dialogs->image->image.html添加代码

     1 <script>
     2     //新增在线管理删除图片
     3     function uedel(path, id){
     4         if(confirm(‘您确定要删除它吗?删除后不可恢复!‘)){
     5             //var url = editor.getOpt(‘imageDelUrl‘);
     6         deleteFile(path);
     7             var url = editor.getOpt(‘imageDelUrl‘);
     8             $.get(url,{‘path‘:path},function(data){
     9                 if (data.state == ‘success‘) {
    10                     alert(data.message);
    11                     $("#"+id).parent("li").remove();
    12                 }else{
    13                     alert(data.message);
    14                 }
    15             },‘json‘);
    16         }
    17     }
    18    function deleteFile(path){
    19         $.ajax({
    20             type:‘POST‘,
    21             url:editor.getOpt(‘imageDelUrl‘)+‘action路径:你项目Web层处理的方法路径!deleteFile.action‘,
    22             data:{pathName : path},
    23             cache:false,
    24             timeout:6000,
    25             error: function (XMLHttpRequest, textStatus, errorThrown) {
    26                 alert(‘删除失败‘);
    27             },
    28             success:function(){
    29                 alert(‘删除成功!请点击保存,查看是否误删!‘);
    30                 location.reload();
    31             }
    32         });
    33     }
    34     </script>

  2. ueditor\jsp\config.json中添加代码

    1 /*删除指定目录下的文件或图片*/
    2      "imageDelUrl":"/项目名字",
  3. WEB层处理方法.java添加下面的方法

     1     public void deleteFile(){
     2         //图片和文件管理中的删除
     3         String path = ServletActionContext.getServletContext().getRealPath("").replaceAll("\\\\", "/");
     4         System.out.println("========================================path:"+path);
     5         HttpServletRequest request = Struts2Utils.getRequest();
     6         String pathName = this.getQueryParameter(request, "pathName");
     7                String filePath = path  + pathName;
     8         File file = new File(filePath);
     9         // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
    10         if (file.exists()) {
    11             file.delete();
    12             System.out.println("删除成功");
    13         } else {
    14             System.out.println("文件不存在");
    15         }
    16     }

五、调试小技巧

  Chrome浏览器 Ctrl+Shift+N进入隐身模式,不用再担心JS缓存造成的影响。

时间: 2024-10-12 13:12:17

SSH系统下,Ueditor1.4.3编辑器配置,增加图片删除功能+数据库存储的相关文章

Ubuntu14.0.4系统下 SVN的安装与配置

Ubuntu14.0.4系统下  SVN的安装与配置 SVN(subversion)是近年来崛起的版本管理工具,绝大多数开源软件都使用了svn作为代码版本管理软件.对于写代码的用户来说使用版本控制管理工具svn来说最合适 不过了,下面就介绍一下在Ubuntu 14.0.4下安装和配置SVN的简要方法! 本文是小编亲自整理.测试.验证过的方法,也可以算是最全.最简易的SVN安装配置方法! 下面文档分为四个部分: 1.在Ubuntu 14.0.4系统中安装SVN 2.配置SVN 3.启动和关闭svn

在Win7系统下为VS2010安装和配置OpenCV2.1

由于要重新开发一个机遇OpenCV2.1的程序,因此需要在Win7系统下为VS2010安装和配置OpenCV2.1.网上找了几个教程都不能正确配置,最后找到一篇英文安装的帖子,简单明了实现了配置.为了方便自己日后查看以及其他人的可能的需要,现在将配置过程记录下来. 原帖请见:http://opencv-srf.blogspot.it/2011/09/getting-started-with-opencv_16.html Installing & Configuring OpenCV2.1 wit

Mac OS X系统下利用VirtualBox安装和配置Windows XP虚拟机

准备工作 下载并安装VirtualBox for Mac到https://www.virtualbox.org/wiki/Downloads下载VirtualBox <版本> for OS X hosts 下载并安装VirtualBox Extension Pack在步骤1的页面点击VirtualBox <版本> Oracle VM VirtualBox Extension Pack右侧的链接进行下载. 下载Windows XP镜像(请自行搜索^^) 在VirtualBox中安装W

Linux系统下JDK和Tomcat安装配置

Linux系统下JDK安装配置 1. 从oracle网站下载需要的JDK软件 :jdk-6u39-linux-i586.bin http://www.oracle.com/technetwork/java/javase/archive-139210.html 然后通过FTP上传到linux服务器上. 2. 将文件copy到/usr目录下 [[email protected] wendy]# cp jdk-6u39-linux-i586.bin /usr/ 3. 给文件添加执行权限: [[emai

Win10系统下MySQL压缩版安装配置教程

MySQL分为安装版和压缩.为了以后MySQL出问题想重装时的各种不必要的麻烦,我个人推荐压缩版MySQL.下面进入教程: 进入官网下载MySQL压缩包,并解压如下 配置环境变量---将bin文件的目录加入电脑系统环境配置path下 新建my.ini配置文件(安装目录和数据库存放目录根据自己的目录编辑) [mysql] default-character-set = utf8 [mysqld] #端口 port = 3306 #mysql安装目录 basedir = E:/mysql-8.0.1

windows系统下简单nodej.s环境配置 安装

国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 https://nodejs.org/en/download/   这里用的是  第二步:安装nodejs 下载完成之后,双击 node-v6.9.1-x64.msi,开始安装nodejs,默认是安装在C:\Program Files\nodejs下面 第三步:安装相关环境 打开C:\Program Fi

window10系统下caffe的安装及配置matlab接口(显卡为1080)

caffe一般是在linux系统下安装,网上关于windows下安装教程教程,且每个教程都不是很全,我在这边总结一下流程及所有bug 的解决办法. 我是在win10+GTX1080+VS2013,matlab接口我是matlab2016a. 1.先安装visual studio 2013.这个没什么太大的难度,到网上下载安装就行 2.下载caffe.https://github.com/Microsoft/caffe,点击 Clone or download-> Download ZI 解压缩,

ubuntu系统下smokping网络监控工具安装配置详解

系统:ubuntu 12.04 1.安装工具及依赖包 sudo apt-get install smokeping curl libauthen-radius-perl libnet-ldap-perl libnet-dns-perl libio-socket-ssl-perl libnet-telnet-perl libsocket6-perl libio-socket-inet6-perl apache2 2.直接启动: [email protected]:/etc/smokeping$ s

windows系统下nodejs安装、环境配置及删除NPM全局配置

nodejs安装及设置NPM全局路径 删除NPM全局路径配置 一.nodejs安装及设置NPM全局路径 第一步:下载安装文件 下载nodejs,官网:http://nodejs.org/download/,我这里下载的是node-v8.4.0-x64.msi,如下图 第二步:安装nodejs 下载完成之后,双击"node-v0.10.28-x86.msi",开始安装nodejs,自定义安装在D:\Program Files\Nodejs下面. 在cmd控制台输入:node -v,控制台