热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:UEditor调用上传图片上传文件等模块

1、引入ue相关文件,写好初始代码为了更好的封装整一个单独的插件,这里我们要做到示例化ue后隐藏网页中的编辑窗口,并移除焦点。

1、引入ue相关文件,写好初始代码

为了更好的封装整一个单独的插件,这里我们要做到示例化ue后隐藏网页中的编辑窗口,并移除焦点。












外部调用UEditor的多图上传和附件上传示例

















        2、监听多图上传和上传附件组件的插入动作


      uploadEditor.ready(function () {
      // 监听插入图片
      uploadEditor.addListener("beforeInsertImage", _beforeInsertImage);
      // 监听插入附件
      uploadEditor.addListener("afterUpfile",_afterUpfile);
      });

        

      3、自定义按钮绑定触发多图上传和上传附件对话框的事件

      我们对id="j_upload_img_btn"和id="j_upload_file_btn"的两个button绑定触发ue多图上传和上传附件对话框的事件,这样我们才能够操作ue。


      document.getElementById(‘j_upload_img_btn‘).Onclick= function () {
      var dialog = uploadEditor.getDialog("insertimage");
      dialog.title = ‘多图上传‘;
      dialog.render();
      dialog.open();
      };

      document.getElementById(‘j_upload_file_btn‘).Onclick= function () {
      var dialog = uploadEditor.getDialog("attachment");
      dialog.title = ‘附件上传‘;
      dialog.render();
      dialog.open();
      };

        

      4、多图上传

      多图上传的核心在于“beforeInsertImage”动作,此动作返回已选图片的信息集合。


      function _beforeInsertImage(t, result) {
      var imageHtml = ‘‘;
      for(var i in result){
      imageHtml += ‘

    • ‘+result[i].alt+‘
    • ‘;
      }
      document.getElementById(‘upload_img_wrap‘).innerHTML = imageHtml;
      }

        

      5、新增“afterUpfile”动作

      对于附件上传,ue源码中并未提供插入动作的相关事件,所以这里我们手动添加一个触发动作“afterUpfile”。

      打开“ueditor.all.js”,搜索代码:


      me.execCommand(‘insertHtml‘, html); //在此代码后插入以下代码
      me.fireEvent(‘afterUpfile‘, filelist);

        这样我们就新增了“afterUpfile”事件。

      技术图片

      这里核心在于 “fireEvent”。

      6、附件上传

      上一步中我们新增了“afterUpfile”动作,这里直接监听就可以了。


      function _afterUpfile(t, result) {
      var fileHtml = ‘‘;
      for(var i in result){
      fileHtml += ‘

    • ‘+result[i].url+‘
    • ‘;
      }
      document.getElementById(‘upload_file_wrap‘).innerHTML = fileHtml;
      }

        

      以下是完整代码:

      注:本文基于UEditor1.4.3.3版本。












      外部调用UEditor的多图上传和附件上传示例

















            

           


          推荐阅读
          • 手把手教你构建简易JSON解析器
            本文将带你深入了解JSON解析器的构建过程,通过实践掌握JSON解析的基本原理。适合所有对数据解析感兴趣的开发者。 ... [详细]
          • Flutter入门指南:实现自动关闭的对话框与提示
            本文为Flutter系列教程的一部分,专注于讲解如何在Flutter应用中实现自动关闭的对话框和提示。通过具体的代码示例,帮助开发者掌握SnackBar、BottomSheet和Dialog的使用方法。 ... [详细]
          • 本文介绍了如何在三台CentOS 7.5虚拟机上通过Docker部署RabbitMQ集群,包括环境准备、容器创建、集群配置及故障处理等内容。 ... [详细]
          • 本文针对公司项目中普遍存在的IE浏览器兼容性问题,特别是IE9及以下版本,提出了具体的解决方案,确保用户在这些旧版浏览器中也能顺利实现图片上传预览功能。 ... [详细]
          • 今天我在操作Git时遇到了一个问题,即我的仓库进入了分离的HEAD状态,这与之前讨论过的‘即使本地有更改,git push仍显示所有内容最新’的问题类似。 ... [详细]
          • 本文深入探讨了Java注解的基本概念及其在现代Java开发中的应用。文章不仅介绍了如何创建和使用自定义注解,还详细讲解了如何利用反射机制解析注解,以及Java内建注解的使用场景。 ... [详细]
          • databasesync适配openGauss使用指导书
            一、database-sync简介database-sync作为一种开源辅助工具,用于数据库之间的表同步,更确切的说法是复制,可以从一个数据库复制表到另一个数据库该工具支持的功能如 ... [详细]
          • 本文详细介绍了PHP汽车租赁网站源码的获取方式、本地部署步骤以及汽车租赁系统的功能模块,适合开发者和技术爱好者参考。 ... [详细]
          • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
          • 本文探讨了通过数组操作、事件委托、插件化开发、字符串拼接优化、HTML5 Data属性的使用、优先采用原生JavaScript以及JavaScript文件的压缩等方法,来提升jQuery应用程序的性能。 ... [详细]
          • 本文介绍如何使用 jQuery 的 AJAX 方法从服务器获取 JSON 数据,并通过遍历这些数据来创建包含公司及其产品信息的数组。 ... [详细]
          • 本文详细介绍了C++标准模板库(STL)中各容器的功能特性,并深入探讨了不同容器操作函数的异常安全性。 ... [详细]
          • 本文详细介绍了如何在VMware环境下安装CentOS 7 Minimal,并成功配置GNOME桌面环境的过程。包括解决网络连接问题和设置默认图形界面等关键步骤。 ... [详细]
          • 本文探讨了如何利用ES6提供的新功能来更改JavaScript对象中的属性名,特别是当需要将API返回的数据格式化为特定组件所需的格式时。 ... [详细]
          • ipvsadm命令简介:ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置。在fedora14、Linux6.0之后系统中 ... [详细]
          author-avatar
          guan
          这个家伙很懒,什么也没留下!
          PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
          Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有