在最近项目要新增一个内容文章,文章包含一般的正文内容,其中正文中可以包含多张图片、文章最多包含一个音频文件。文章正文的上传功能我是通过textarea文本域绑定kindeditor编辑器实现的,而单独音频文件的上传是通过button按钮绑定kindeditor编辑器实现。因为项目主的并发访问量很小,上传之后的图片和音频保存在项目服务器的静态文件中。

1、textarea文本域绑定kindeditor编辑器

JS代码如下:

  <script type="text/javascript">
    $(function(){   

      KindEditor.ready(function(K) {

        var editor = K.create('textarea[name='promoteContent']',{

          height:"300px",

          width:"650px",

          cssPath:'${webPath}/plugin/kindeditor/plugins/code/prettify.css',

          uploadJson:'${webPath}/plugin/kindeditor/upload_json.jsp', //文件上传

          fileManagerJson:'${webPath}/plugin/kindeditor/file_manager_json.jsp',

          allowImageRemote : false,

          allowFileManager : true,

          afterBlur:function(){

             this.sync();//数据同步,此处一定要设置

            }

        });

      });

    });

  </script>

html代码如下:

  <textarea name="promoteContent" id="promoteContent" style="width:100%;height:100%"></textarea>

2、button按钮绑定kindeditor编辑器实现文件单独上传(也只能上传单独的文件)

JS代码如下:

 <script type="text/javascript">

  $(function(){ 

KindEditor.ready(function(K) {
 var audiobutton = K.uploadbutton({
  button : K('#audioUpload')[0], //audioUpload:需要绑定控件的button按钮Id值
   fieldName : 'imgFile',
  url : '../jsp/upload_json.jsp', //修改upload_json.jsp,可以设置文件的保存路径,限制文件的上传格式和大小及相应的报错信息
  afterUpload : function(data) {
if (data.error === 0) {
alert(data.url); //文件上传成功后进行的操作,可以进行html标签操作也可以进行kindeditor对象的操作
              K("#audioUrL").val(data.url);//设置html的标签值,可用于将路径信息传到Java后端
              var div = K("#audioShow"); //如下设置可用于上传文件在页面的回显
              div.html("");         //div层的回显要先清空,才能控制只回显一个文件
              div.append("<embed src='"+data.url+"' />"); //拼接div的回显标签
                } else {
alert(data.message);//文件上传失败的弹框提示信息(一般不修改)
}
}
    });
    audiobutton.fileBox.change(function(e) { //此处需要注意和var变量名(audiobutton)一致
  audiobutton.submit();
    });

  });

});

 </script>

html代码如下:

  <div>

    <div id="inputbox">

      <input type="text" name=“audioUrL” id=“audioUrL” placeholder="请选择本地音频文件" >

      <input type="button" id=“audioUpload” value="请选择">

    </div>  

    <div id="audioShow">

    </div>

  <div>

upload_json.jsp文件的编辑修改:

  //文件保存目录路径
  String savePath = "/resources/common/activity/files/";

  //文件保存目录URL
  String saveUrl =  "/eticket-resources/common/activity/files/"; 

  //定义允许上传的文件扩展名(根据需要对文件类型进行设置)
  HashMap<String, String> extMap = new HashMap<String, String>();
  extMap.put("image", "gif,jpg,jpeg,png,bmp");
  extMap.put("flash", "swf,flv");
  extMap.put("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
  extMap.put("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2"); 

  //最大文件大小(10M:可修改)
  long maxSize = 1024*1024*10;

  //dirName用来修改存放文件的文件夹名称(此处背注释了原代码)

  String dirName = request.getParameter("dir")==null?"img":"img";
  /*

  if (dirName == null) {
  dirName = "img";
  }

  */

  //检查文件大小(提示语根据需要进行调整)
  if(item.getSize() > maxSize){
    out.println(getError("上传文件大小超过限制。"));
    return;
  }

最终实现的页面效果如下:
												

Kindeditor富文本实现textarea文本域的上传及单独button 按钮绑定(用来实现单文件上传)的更多相关文章

  1. spring boot:单文件上传/多文件上传/表单中多个文件域上传(spring boot 2.3.2)

    一,表单中有多个文件域时如何实现说明和文件的对应? 1,说明和文件对应 文件上传页面中,如果有多个文件域又有多个相对应的文件说明时, 文件和说明如何对应? 我们在表单中给对应的file变量和text变 ...

  2. 【kindeditor】KindEditor获取多个textarea文本框的值并判断非空

    kindeditor官网:http://kindeditor.net/demo.php 如何获取多个KindEditor中textarea文本框的值,方式很多种(带有HTML标签). var intr ...

  3. 在ASP.NET中使用KindEditor富文本编辑器

    以前一直用百度的UEditor.这次客户提了一个需求要在编辑器中插入Flash动画,但是不知道怎么用UEditor实现,于是选用了KindEditor. 更重要的一点是,客户的网站使用Framewor ...

  4. KindEditor得不到textarea值的解决方法

    转自:http://blog.phpha.com/archives/510.html 以前有朋友遇到过这个问题,就是KindEditor在火狐下或者其他浏览器下都无法得到textarea文本框的值,点 ...

  5. KindEditor得不到textarea值的解决方法----摘至天涯

    以前有朋友遇到过这个问题,就是KindEditor在火狐下或者其他浏览器下都无法得到textarea文本框的值,点击表单提交按钮得到的是空白.昨天天涯PHP博客[http://blog.phpha.c ...

  6. vue+Ueditor集成 [前后端分离项目][图片、文件上传][富文本编辑]

    后端DEMO:https://github.com/coderliguoqing/UeditorSpringboot 前端DEMO:https://github.com/coderliguoqing/ ...

  7. Ueditor1.4.3实现跨域上传到独立文件服务器,完美解决单文件和多文件上传!

    再写配置方法之前先吐槽一下网上的各种教程,TM没一个有卵用,一群傻屌不会写就别写,写了就要负责. 百度google搜了半天,全是配置什么document.domain,根域名什么的,我只想对你说: 好 ...

  8. kindEditor 富文本编辑器 使用介绍

    第一版:存放位置:  ---->把该创建的文件包放到javaWeb 过程的 WEB_INF 下:如图所示. 第二步:< kindEditor 插件的引用> :JS引用 <scr ...

  9. (转)淘淘商城系列——KindEditor富文本编辑器的使用

    http://blog.csdn.net/yerenyuan_pku/article/details/72809794 通过上文的学习,我们知道了怎样解决KindEditor富文本编辑器上传图片时的浏 ...

随机推荐

  1. 如何修改运行中的docker容器的端口映射和挂载目录

    在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...

  2. Ajax post数据查询

    <?php $server = '127.0.0.1'; $user = 'root'; $password = ''; $database = 'yiibaidb'; $officecode ...

  3. pandas处理时间序列(4): 移动窗口函数

    六.移动窗口函数 移动窗口和指数加权函数类别如↓: rolling_mean 移动窗口的均值 pandas.rolling_mean(arg, window, min_periods=None, fr ...

  4. ORACLE 数据库管理

    [故障处理]ORA-12162: TNS:net service name is incorrectly specified 本文将给大家阐述一个因未设置系统环境变量ORACLE_SID导致ORA-1 ...

  5. django请求接收及文件上传

    在写后端交互页面的时候常常会遇到接收来自前端页面请求的情况,例如 在写注册页面的时候,会提交一些页面信息,这时需要分三种情况讨论 第一种,接收单项信息: v = request.POST.getlis ...

  6. java学习之方法内部类

    *方法内部类 * 在类中的方法内定义一个类 * 注意: * 1 方法内部类只能在类的方法内实例化不可以在此方法外实例化 * 2 .方法内部类对象只能用所在方法体中的变量不能改,jdk1.8可以 * 以 ...

  7. 水管工游戏——dfs

    问题描述: 水管工游戏是指如下图中的矩阵中,一共有两种管道,一个是直的,一个是弯的,所有管道都可以自由旋转,最终就是要连通入水口可出水口.其中的树为障碍物. 方案: 输入格式:输入的第一行为两个整数N ...

  8. 【论文速读】Yuliang Liu_2017_Detecting Curve Text in the Wild_New Dataset and New Solution

    Yuliang Liu_2017_Detecting Curve Text in the Wild_New Dataset and New Solution 作者和代码 caffe版代码 关键词 文字 ...

  9. 【论文速读】XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection

    XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection 作者和代码 caffe代码 关键词 ...

  10. 日常开发工作常用linux命令

    :wq 保存退出 :q! 强制退出 vi 查看 vim 编辑 rpm -qa|grep jdk 命令查看当前的jdk情况 yum -y remove java java-1.7.0-openjdk* ...