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

CKEditor4.6.2图片/Flash上传及预览附件上传

最近做富文本编辑器,最后选用了CKeditor,个人更喜欢这个编辑器的风格。本文将不再阐述CKeditor的基础配置,比较的简单,网上例子不少,官方的demo也有。好,直接进入正题

最近做富文本编辑器,最后选用了 CKeditor,个人更喜欢这个编辑器的风格。本文将不再阐述CKeditor的基础配置,比较的简单,网上例子不少,官方的demo也有。

好,直接进入正题:

1.图片上传

网上有较多的关于CKeditor图片上传的例子,也有CKeditor + CKFinder的例子。 我只使用了CKeditor来实现。

《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

     上图是我修改之后的图片上传界面, 首先找到  ckeditor/plugins/image/dialog/image.js 

      {
                id: “Upload”,
                hidden: 0,
                filebrowser: “uploadButton”,
                label: d.lang.image.upload,
                elements: [{
                    type: “file”,
                    id: “upload”,
                    //label: d.lang.image.btnUpload,
                    style: “height:40px”,
                    size: 38
                },
                {
                    type: “fileButton”,
                    id: “uploadButton”,
                    filebrowser: “info:txtUrl”,
                    label: d.lang.image.btnUpload,
                    “for”: [“Upload”, “upload”]
                }]
      },

    修改hidden:0. 这样上传的功能就出来了. 还有两个功能被我隐藏掉了,不去深究。

    选择文件以后,点击上传到服务器  调用的URL是什么呢?

    这个需要在 config.js里面进行配置:

   config.filebrowserImageUploadUrl = getProjectPath() + “/editor/uploadImage”;

    这里配置的就是后台处理上传图片的URL,我使用的是jfinal.

    后台处理完图片以后,最后需要使用流输出:

   

   callFunction方法中的三个参数分别为:

    第一个参数:CKEditorFuncNum       ckeditor上传默认带入的参数  直接通过request.getParameter(“CKEditorFuncNum”);获取就可以啦。

    第二个参数:URL   图片地址URL     

    第三个参数:错误信息   假如上传出错或者是在后台判断图片大小等功能, 设置这个值,就可以在上传界面弹提示该信息。 成功上传传空值即可。

  

   CKeditor接受到这个信息,如果URL有值,那么会直接跳到预览的界面了。  

   这个功能比较的简单。好,看一下最终的效果图。

《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

   《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

     

    点击确定按钮,图片就会插入到编辑器的光标处了。双击编辑器中的图片又会弹出 图像信息 这个页面 ,可以手动的设置一下 宽度 高度,还挺方便。

    这个功能比较简单,就介绍到这里了。

    2.Flash上传 (支持flv的Flash上传)

    Flash的上传和图片上传对比起来差不多。好,让我们开始吧。

    首先来看一下我的Flash上传功能的图片。

   《CKEditor4.6.2 图片/Flash上传及预览 附件上传》《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

 

  首先,和图片上传一样,先找到 ckeditor/plugins/flash/dialog/flash.js  找到那段代码开启上传的功能。 (参考上面图片上传的示例代码)

  然后就是配置config.js了:

  config.filebrowserFlashUploadUrl = getProjectPath() + “/editor/uploadFlash”;

  这里配置的就是处理Flash上传的后台URL了。不再多做解释,继续往下:

  处理文件的代码我就不贴了,相信大家都能自己搞定。最主要的是不是我们上传成功以后,需要ckeditor的响应呢?还需要预览给用户看啊。

  那么这里呢,和图片上传就不太一样了。请注意了,这里不仔细看,可能会让你的Flash上传预览失败或者因为找不到视频浏览器崩溃哦。


  好,先来看一下,我的Flash上传的plugin目录:

  《CKEditor4.6.2 图片/Flash上传及预览 附件上传》《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

 唯一多出来的就是  flvplayer.swf  播放视频的时候就需要借助到它了。网上下载一个即可。

 好,继续说如何在后台让ckeditor响应,还是使用流输出 还是那个方法 那段代码  熟悉的味道 哈哈。

 

 第一个参数 和 第三个参数 和图片上传一致,不做解释,需要了解的朋友请看上面.

 关键在于第二个参数,需要改动一下:

 “ckeditor/plugins/flash/flvplayer.swf?vcastr_file=/” + 项目名 + “视频存放路径/视频名”;

  这样,ckeditor就能接收到后台传递的信息了。就可以预览视频了。

  网上有个哥们也提到说可以在flash.js里面加入这段代码,

 《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

  《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

 就是我注释掉的部分。经我测试,是有问题的,大家慎用。用我的方法,没毛病。 嘿嘿。

  不能光说不练啊,直接上效果图:

《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

  《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

  大家可以看到URL,带有我们刚才说的那段代码,比较重要啊,这里。希望大家能注意。

  这里呢,点击确定 就能把视频插入到编辑器里面了。 再附两张效果图:

《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

  《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

   这样,你的Flash就加入到编辑器里面了。点击 《CKEditor4.6.2 图片/Flash上传及预览 附件上传》预览按钮,也不会有问题了。基本上大功告成了。

  《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

   

   如果有朋友有需要 我介绍 关于 附件的上传 可以评论  留言。 先给大家上一张附件上传的效果图吧。 

   功能实现起来其实比较的简单啦,这个功能,我使用了 uploadify来做,因为我需要兼容到IE8.

   本来想自己模仿着ckeditor的插件来做一个弹窗的,但是对API不熟,无奈,下面的这个弹窗是我自己做的。

   《CKEditor4.6.2 图片/Flash上传及预览 附件上传》《CKEditor4.6.2 图片/Flash上传及预览 附件上传》

   如果大家有更好的建议或者做法,欢迎大家交流。 

   好叻,时间关系,这篇文章先到此为止了,有点晚了。 希望能对大家有点帮助吧。最主要还是让自己加深一下印象,也留下篇文档。 

  


推荐阅读
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 如何优化Webpack打包后的代码分割
    本文介绍了如何通过优化Webpack的代码分割来减小打包后的文件大小。主要包括拆分业务逻辑代码和引入第三方包的代码、配置Webpack插件、异步代码的处理、代码分割重命名、配置vendors和cacheGroups等方面的内容。通过合理配置和优化,可以有效减小打包后的文件大小,提高应用的加载速度。 ... [详细]
  • 在tp5项目中引入ueditor编辑器并实例化后插入图片出现目录创建失败问题在查看网络上各种解决方案之后总结如下:根据官网提示主要是因为图片保存的路径无权限导致,官方文档链接:ht ... [详细]
  • 俗话说,好记性不如烂笔头,这些东西也都是我Google来的,做个笔记以后自己安装也方便些。因为官方wiki的BeginnersGuide讲的非常好,大部分步骤按照wiki一步一步来就 ... [详细]
  • npminstall-Dbabelcorebabelpreset-envbabelplugin-transform-runtimebabelpolyfillbabel-loader ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
  • AFNetwork框架(零)使用NSURLSession进行网络请求
    本文介绍了AFNetwork框架中使用NSURLSession进行网络请求的方法,包括NSURLSession的配置、请求的创建和执行等步骤。同时还介绍了NSURLSessionDelegate和NSURLSessionConfiguration的相关内容。通过本文可以了解到AFNetwork框架中使用NSURLSession进行网络请求的基本流程和注意事项。 ... [详细]
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • fileuploadJS@sectionscripts{<scriptsrc~Contentjsfileuploadvendorjquery.ui.widget.js ... [详细]
  • 开发笔记:UEditor调用上传图片上传文件等模块
    1、引入ue相关文件,写好初始代码为了更好的封装整一个单独的插件,这里我们要做到示例化ue后隐藏网页中的编辑窗口,并移除焦点。 ... [详细]
  • UEditor可以如何直接复制word的图文内容到编辑器中
    这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)j ... [详细]
  • PHP WEB项目文件夹上传下载解决方案
    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploadsonoff是否允许通过http方式上传文件2.max_execution_time3 ... [详细]
  • 1、不要使用国内第三方加固2、去掉android:debuggable”true”,不然会报一下错误,特别注意使用了一些第三方SDK,例如ShareSDKUploadfailedY ... [详细]
author-avatar
sunhuan
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有