这是别人给出的方法: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与Java后端配合,实现在网页上进行图片和视频的上传功能。 1. **KindEditor的图片上传功能**: KindEditor内建了图片上传的功能,用户...
- **兼容性好**:KindEditor支持多种浏览器,确保不同设备上的用户都能顺畅使用附件上传功能。 #### 五、实现原理与技术栈 该组件基于Java技术栈开发,具体而言,是通过JSP(JavaServer Pages)页面实现前端与后端...
2. **客户端交互**:在前端,KindEditor的JavaScript文件(如`kindeditor.js`或`kindeditor-min.js`)会被修改,以支持Flash上传功能。这部分代码会添加新的按钮或者菜单项,允许用户选择本地的SWF文件,并触发上传...
在传统的KindEditor中,图片上传功能可能依赖于Flash技术,但在Flash逐渐被淘汰后,它需要更新以适应现代浏览器的需求。 2. **HTML5**:HTML5是HTML的最新版本,其一大特点是增强了对多媒体的支持,包括图像上传。...
kindeditor 编辑器php 版 支持附件上传功能! kindeditor 编辑器php 版 支持附件上传功能!kindeditor 编辑器php 版 支持附件上传功能!kindeditor 编辑器php 版 支持附件上传功能!kindeditor 编辑器php 版 支持...
标题 "基于kindeditor3.4的上传功能的JAVA实现" 指的是一个关于如何在Java后端实现KindEditor编辑器3.4版本中的文件上传功能的技术分享。KindEditor是一款开源的JavaScript富文本编辑器,它提供了丰富的API和功能,...
而"KindEditor"提供的批量上传功能则彻底改变了这一局面。用户可以通过简单的拖拽或者复制粘贴方式,将Word文档中的图片快速导入到编辑器中,大大简化了工作流程。更值得一提的是,这个工具特别贴心地支持直接从Word...
JSP版的完善KindEditor在线编辑器(带附件上传与图片按日期分类管理功能) 1.集合了日期、时间、在线预览和特殊字符插件,采用3.0皮肤; 2.将图片上传与管理的JSP页面改写成SERVLET,同时去除JSON包; 3.添加图片压缩...
4.0新增的附件上传功能和浏览服务器已有文件功能,不必再手动写附件上传了。 因为是最新版,不保证稳定性和安全性。 另,我之前曾经用3.x的代码手动添加过附件上传的,代码经过较长时间测试了,稳定性可能会高一些...
总的来说,KindEditor是一个强大而灵活的富文本编辑器,尤其适合那些需要集成图片和文件上传功能的ASP.NET Web应用。其易用性和丰富的功能使其成为许多开发者的首选。如果你在使用过程中遇到任何问题,社区和作者...
kindeditor插件,用来实现附件上传功能,jsp版的,可惜应用量不大,由于电脑上没有JSP环境,因此未能测试,感谢您对烈火下载的支持。
在这个"使用kindeditor编辑器上传文件demo"中,我们将探讨如何利用KindEditor实现文件上传功能,并关注在`KindEditorDemo`压缩包内的`jsp`文件夹中的`readme.txt`,它通常会包含关键的配置和使用指南。 首先,让...
通过以上步骤,你已经成功地在KindEditor中实现了图片上传携带token字段的功能。这个过程不仅增加了安全性,也展示了如何利用KindEditor的自定义功能扩展其默认行为,以适应特定的项目需求。记住,安全始终是Web开发...
这是本人写的一个基于KindEditor-4.1.9的Java项目,采用Struts2框架,实现了KindEditor单张图片上传、批量图片上传,可以上传到image目录下的子目录中,可返回上一级目录,并实现了按名称、大小、类型排序的功能。...
通过以上步骤,你可以在Flash不再被支持的情况下,使KindEditor的多图上传功能恢复正常。这个解决方案不仅适用于PHP环境,其他支持HTML5的服务器端语言(如Python、Node.js等)也可以参照执行,核心在于理解和利用...
本文将深入探讨如何在ASP.NET项目中实现KindEditor的附件和图片本地上传功能。 首先,我们需要下载并解压"kindeditor_dotnet"压缩包。这个压缩包包含了KindEditor的ASP.NET版本,适用于.NET Framework的Web应用程序...
kindeditor极容易在.net里面配置,本方法介绍上传文件盒图片,十分简单,通过测试,假如您觉得好的话,请给五分哦!
KindEditor是一款广泛应用于Web开发中的开源富文本编辑器,它提供了丰富的编辑功能,使得用户可以在网页上方便地创建和编辑内容。在这个优化过程中,我们主要关注了以下几个方面: 1. **Flash批量上传图片向H5上传...
在描述中提到的“添加第三方视频代码功能”,这意味着需要扩展KindEditor使其支持插入外部视频链接或者上传本地视频。这通常涉及解析视频链接,生成合适的嵌入代码(如iframe或video标签),并将其插入到编辑器中。...