`
wanghailiang333
  • 浏览: 199137 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

KindEditor加入附件上传功能

 
阅读更多

这是别人给出的方法:http://www.cnblogs.com/baiyuntian/archive/2011/11/07/2239475.html

 

我就是依照此方法来加入附件上传功能的

 

但在实现的时候出现了问题:选择本地文件上传,显示文件上传成功,但不会自动返回编辑区,并显示文件下载链接。

 

后边查看源码发现问题的所在

 

原来代码   :kindeditor.js中的KE.plugin['accessory']代码部分

 

exec: function(id) {
            KE.util.select(id);
            var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog);
            var type = KE.$('type', dialogDoc).value;
            if (!this.check(id)) return false;
            if (type == 1) {
                //没有调用insert操作
                KE.$('editorId', dialogDoc).value = id; 
                dialogDoc.uploadForm.submit();
                return false;
            } else {
                var url = KE.$('url', dialogDoc).value;
                var title = KE.$('imgTitle', dialogDoc).value;
                this.insert(id, url, title, ext);
            }
        }
 

 

可以看到在type==1(上传本地文件)的时候,并没有调用任何处理操作(如调用insert),仅仅是做了一个提交操作。

 

我对这段代码进行了修改:

 

 

exec: function(id) {
            //----
            var self = this;
            //----
            KE.util.select(id);
            var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog);
            var type = KE.$('type', dialogDoc).value;
            if (!this.check(id)) return false;
            if (type == 1) {
                KE.$('editorId', dialogDoc).value = id;
                
                ///------------
                var uploadIframe = KE.$('uploadIframe', dialogDoc);   //需要有个iframe
                var onloadFunc = function() {
    				KE.event.remove(uploadIframe, 'load', onloadFunc);
    				KE.util.hideLoadingPage(id);
    				var uploadDoc = KE.util.getIframeDoc(uploadIframe);
    				var data = '';
    				try {
    					data = KE.util.parseJson(uploadDoc.body.innerHTML);
    				} catch(e) {
    					alert(KE.lang.invalidJson);
    				}
    				if (typeof data === 'object' && 'error' in data) {
    					if (data.error === 0) {
    						var url = KE.format.getUrl(data.url, 'absolute');
    						self.insert(id, url, data.title , "");
    					} else {
    						alert(data.message);
    						return false;
    					}
    				}
    			};
                KE.event.add(uploadIframe, 'load', onloadFunc);
                //---------------------------
                
                dialogDoc.uploadForm.submit();
                return;
            } else {
                var url = KE.$('url', dialogDoc).value;
                var title = KE.$('imgTitle', dialogDoc).value;
                this.insert(id, url, title, ext);
            }
        }

 被注释包围的区域就是我添加的代码,这样可以完成类似图片上传的功能,并能在编辑区显示上传的文件

 

注意:这里的返回值是Json格式

//返回正常
{
"error" : 0
"url" : ...
"title" :...
}

//返回错误
{
"error" : 1
"message" : ...
}

 

 

此处还要修改博客中提到的accessory.html文件

 

修改如下:

 

 

……
<body>
<!-- 加入name为uploadIframe的iframe -->
<iframe name="uploadIframe" id="uploadIframe" style="display:none;"></iframe>

<!-- target为uploadIframe -->
<form name="uploadForm" method="post" enctype="multipart/form-data" action="../../upload_file_json.php" target="uploadIframe">

……

 

这样修改以后就可以在上传本地文件之后,跳转回编辑区,并显示要下载的文件链接。

分享到:
评论

相关推荐

    带附件上传功能的kindeditor编辑器

    在这个“带附件上传功能的kindeditor编辑器”项目中,我们看到作者对原版KindEditor进行了扩展,增加了本地文件和网络文件上传的能力。这是一项非常实用的功能,尤其对于需要用户提交文档、图片或者其他媒体文件的...

    kindeditor上传视频、图片功能实现

    在“kindeditor上传视频、图片功能实现”中,我们将探讨如何利用KindEditor与Java后端配合,实现在网页上进行图片和视频的上传功能。 1. **KindEditor的图片上传功能**: KindEditor内建了图片上传的功能,用户...

    jsp版的kindeditor附件上传组件

    - **兼容性好**:KindEditor支持多种浏览器,确保不同设备上的用户都能顺畅使用附件上传功能。 #### 五、实现原理与技术栈 该组件基于Java技术栈开发,具体而言,是通过JSP(JavaServer Pages)页面实现前端与后端...

    kindeditor添加本地上传flash功能

    2. **客户端交互**:在前端,KindEditor的JavaScript文件(如`kindeditor.js`或`kindeditor-min.js`)会被修改,以支持Flash上传功能。这部分代码会添加新的按钮或者菜单项,允许用户选择本地的SWF文件,并触发上传...

    kindeditor多图上传H5版

    在传统的KindEditor中,图片上传功能可能依赖于Flash技术,但在Flash逐渐被淘汰后,它需要更新以适应现代浏览器的需求。 2. **HTML5**:HTML5是HTML的最新版本,其一大特点是增强了对多媒体的支持,包括图像上传。...

    kindeditor 编辑器php 版 支持附件上传功能!

    kindeditor 编辑器php 版 支持附件上传功能! kindeditor 编辑器php 版 支持附件上传功能!kindeditor 编辑器php 版 支持附件上传功能!kindeditor 编辑器php 版 支持附件上传功能!kindeditor 编辑器php 版 支持...

    基于kindeditor3.4的上传功能的JAVA实现

    标题 "基于kindeditor3.4的上传功能的JAVA实现" 指的是一个关于如何在Java后端实现KindEditor编辑器3.4版本中的文件上传功能的技术分享。KindEditor是一款开源的JavaScript富文本编辑器,它提供了丰富的API和功能,...

    kindEditor+图片批量上传

    而"KindEditor"提供的批量上传功能则彻底改变了这一局面。用户可以通过简单的拖拽或者复制粘贴方式,将Word文档中的图片快速导入到编辑器中,大大简化了工作流程。更值得一提的是,这个工具特别贴心地支持直接从Word...

    JSP版的完善KindEditor在线编辑器(带附件上传与图片按日期分类管理功能)

    JSP版的完善KindEditor在线编辑器(带附件上传与图片按日期分类管理功能) 1.集合了日期、时间、在线预览和特殊字符插件,采用3.0皮肤; 2.将图片上传与管理的JSP页面改写成SERVLET,同时去除JSON包; 3.添加图片压缩...

    kindeditor4.0.NET集成版(含图片和附件上传)

    4.0新增的附件上传功能和浏览服务器已有文件功能,不必再手动写附件上传了。 因为是最新版,不保证稳定性和安全性。 另,我之前曾经用3.x的代码手动添加过附件上传的,代码经过较长时间测试了,稳定性可能会高一些...

    kindeditor编辑器,可上传多图片,文件上传等功能

    总的来说,KindEditor是一个强大而灵活的富文本编辑器,尤其适合那些需要集成图片和文件上传功能的ASP.NET Web应用。其易用性和丰富的功能使其成为许多开发者的首选。如果你在使用过程中遇到任何问题,社区和作者...

    kindeditor插件,用来实现附件上传功能,jsp版.rar

    kindeditor插件,用来实现附件上传功能,jsp版的,可惜应用量不大,由于电脑上没有JSP环境,因此未能测试,感谢您对烈火下载的支持。

    使用kindeditor编辑器上传文件demo

    在这个"使用kindeditor编辑器上传文件demo"中,我们将探讨如何利用KindEditor实现文件上传功能,并关注在`KindEditorDemo`压缩包内的`jsp`文件夹中的`readme.txt`,它通常会包含关键的配置和使用指南。 首先,让...

    kindeditor图片上传携带token字段

    通过以上步骤,你已经成功地在KindEditor中实现了图片上传携带token字段的功能。这个过程不仅增加了安全性,也展示了如何利用KindEditor的自定义功能扩展其默认行为,以适应特定的项目需求。记住,安全始终是Web开发...

    KindEditor-4.1.9批量上传图片完整示例(可以上传到image目录下的子目录中,可返回上一级目录,并实现了按名称、大小、类型排序的功能)

    这是本人写的一个基于KindEditor-4.1.9的Java项目,采用Struts2框架,实现了KindEditor单张图片上传、批量图片上传,可以上传到image目录下的子目录中,可返回上一级目录,并实现了按名称、大小、类型排序的功能。...

    kindeditor-4.1.11多图上传按钮无法出现且无法点击flash无法上传

    通过以上步骤,你可以在Flash不再被支持的情况下,使KindEditor的多图上传功能恢复正常。这个解决方案不仅适用于PHP环境,其他支持HTML5的服务器端语言(如Python、Node.js等)也可以参照执行,核心在于理解和利用...

    kindeditor(DotNet完善图片上传和附件上传)

    本文将深入探讨如何在ASP.NET项目中实现KindEditor的附件和图片本地上传功能。 首先,我们需要下载并解压"kindeditor_dotnet"压缩包。这个压缩包包含了KindEditor的ASP.NET版本,适用于.NET Framework的Web应用程序...

    kindeditor配置和上传文件

    kindeditor极容易在.net里面配置,本方法介绍上传文件盒图片,十分简单,通过测试,假如您觉得好的话,请给五分哦!

    优化kindeditor,修改flash批量上传图片方式为H5上传,添加第三方视频代码功能,添加手机尺寸预览,粘

    KindEditor是一款广泛应用于Web开发中的开源富文本编辑器,它提供了丰富的编辑功能,使得用户可以在网页上方便地创建和编辑内容。在这个优化过程中,我们主要关注了以下几个方面: 1. **Flash批量上传图片向H5上传...

    优化kindeditor,修改flash批量上传图片方式为H5上传

    在描述中提到的“添加第三方视频代码功能”,这意味着需要扩展KindEditor使其支持插入外部视频链接或者上传本地视频。这通常涉及解析视频链接,生成合适的嵌入代码(如iframe或video标签),并将其插入到编辑器中。...

Global site tag (gtag.js) - Google Analytics