Kindeditor富文本实现textarea文本域的上传及单独button 按钮绑定(用来实现单文件上传)
在最近项目要新增一个内容文章,文章包含一般的正文内容,其中正文中可以包含多张图片、文章最多包含一个音频文件。文章正文的上传功能我是通过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 按钮绑定(用来实现单文件上传)的更多相关文章
- spring boot:单文件上传/多文件上传/表单中多个文件域上传(spring boot 2.3.2)
一,表单中有多个文件域时如何实现说明和文件的对应? 1,说明和文件对应 文件上传页面中,如果有多个文件域又有多个相对应的文件说明时, 文件和说明如何对应? 我们在表单中给对应的file变量和text变 ...
- 【kindeditor】KindEditor获取多个textarea文本框的值并判断非空
kindeditor官网:http://kindeditor.net/demo.php 如何获取多个KindEditor中textarea文本框的值,方式很多种(带有HTML标签). var intr ...
- 在ASP.NET中使用KindEditor富文本编辑器
以前一直用百度的UEditor.这次客户提了一个需求要在编辑器中插入Flash动画,但是不知道怎么用UEditor实现,于是选用了KindEditor. 更重要的一点是,客户的网站使用Framewor ...
- KindEditor得不到textarea值的解决方法
转自:http://blog.phpha.com/archives/510.html 以前有朋友遇到过这个问题,就是KindEditor在火狐下或者其他浏览器下都无法得到textarea文本框的值,点 ...
- KindEditor得不到textarea值的解决方法----摘至天涯
以前有朋友遇到过这个问题,就是KindEditor在火狐下或者其他浏览器下都无法得到textarea文本框的值,点击表单提交按钮得到的是空白.昨天天涯PHP博客[http://blog.phpha.c ...
- vue+Ueditor集成 [前后端分离项目][图片、文件上传][富文本编辑]
后端DEMO:https://github.com/coderliguoqing/UeditorSpringboot 前端DEMO:https://github.com/coderliguoqing/ ...
- Ueditor1.4.3实现跨域上传到独立文件服务器,完美解决单文件和多文件上传!
再写配置方法之前先吐槽一下网上的各种教程,TM没一个有卵用,一群傻屌不会写就别写,写了就要负责. 百度google搜了半天,全是配置什么document.domain,根域名什么的,我只想对你说: 好 ...
- kindEditor 富文本编辑器 使用介绍
第一版:存放位置: ---->把该创建的文件包放到javaWeb 过程的 WEB_INF 下:如图所示. 第二步:< kindEditor 插件的引用> :JS引用 <scr ...
- (转)淘淘商城系列——KindEditor富文本编辑器的使用
http://blog.csdn.net/yerenyuan_pku/article/details/72809794 通过上文的学习,我们知道了怎样解决KindEditor富文本编辑器上传图片时的浏 ...
随机推荐
- Python3学习之路~8.6 开发一个支持多用户在线的FTP程序-代码实现
作业: 开发一个支持多用户在线的FTP程序 要求: 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp s ...
- Python3学习之路~7.3 反射
python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,该四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删除成员. ...
- [Freemarker]自定义时间戳函数
使用freemarker的web项目经常需要用在Url后面加上时间戳来保证资源不被缓存,我们可以自定义方法实现时间戳. 先看freemarker配置信息: <bean id="free ...
- Qt QLineEdit 漂亮的搜索框 && 密码模式 && 格式化输入 && 提示文字 && 选择内容并移动 && 清除全部输入
先上一个漂亮的搜索框效果图, 输入搜索文本效果, 点击搜索图标效果: //实现代码 void MainWindow::iniLineEdit() { ui->lineEdit->setPl ...
- vuepress 学习心得
vuepress是一个静态网站生成器,在我看来就是写博客和教程的好工具.教程请见官网:https://www.vuepress.cn 安装方法建议局部安装:node8.0以上,新建vue项目,可能会出 ...
- html5 css练习,弹性三栏布局
*{ margin: 0; padding: 0;} body,html{ width: 100%; height: 100%; font: bold 24px ...
- 制作Win10 U盘版移动便携系统
制作U盘Win10 灌装WIM VHD_OneKey_beta2 把wim导入VHD文件 复制 WIN8USB.VHD boot bootmgr三个文件到U盘 把制作的Win10的VHD文件重命名为 ...
- ng2
angularjs2的环境问题解决了好久. 百度到的答案也是各种各样还解决不了我的问题. 好在这几天经过不断的测试终于给解决了. ERROR in AppModule is not an NgModu ...
- 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165335
一.资源下载以及工具安装 1.下载虚拟机工具VMware. 下载链接 :https://www.baidu.com/link?url=uuaBW5ETUl3GrhUKvPbbEc7QlQvGHfpD8 ...
- 20175208 实验一 Java开发环境的熟悉
20175208 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张家华 学号:20175208 指导教师:娄嘉鹏 实验日期:2019年4月2日 实 ...
