·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> KindEditor编辑器在ASP.NET中的使用
KindEditor编辑器在ASP.NET中的使用
最近做的项目中都有用到富文本编辑器,一直在寻找最后用的富文本编辑器,之前用过CKEditor,也用过UEditor,这次打算用 一下KindEditor。
KindEditor简介:
KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。KindEditor使用javaScript编写,可以无缝的于Java、.NET、php、ASP等程序接合。 KindEditor非常适合在CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的编辑器之一。[来自百度百科]
官网简介、 官网下载 、官方文档 、官网Demo演示
KindEditor使用:
将下载的开发包中不需要的删掉,只保留项目需要的文件,我的项目是ASP.NET项目,所引用的开发包资源如下图所示
html设置:
js初始化:
获取编辑器的值:
var html = editor.html();
editor.sync();
//原生js获取
var html = document.getElementById("editor").value;
//jquery获取
var html =$("#editor").val();
//KindEditor 方式
var html = K('#editor').val();
设置编辑器的值:
editor.html('html内容');
上传文件处理程序:
参考所给的示例,只是对示例加以验证,验证是否有上传权限
上传文件列表处理程序:
获取上传文件列表同样的,首先进行权限验证:
1 public class UploadFileHandler : IHttpHandler, IRequiressessionState 2 { 3 PRivate static HttpResponse Response = null; 4 //最大文件大小 5 const int MAXFILESIZE = 10240*1024; 6 7 public void ProcessRequest(HttpContext context) 8 { 9 //验证上传权限 10 if (context.Session["User"] == null) 11 { 12 context.Response.Write("no permission"); 13 context.Response.End(); 14 return; 15 } 16 Response = context.Response; 17 string flag = context.Request["customUpload"]; 18 //从配置文件中获取网站首页路径 19 String aspxUrl = Common.ConfigurationHelper.AppSetting("HomeUrlInfo"); 20 //文件保存目录路径 21 System.Text.StringBuilder savePath = new System.Text.StringBuilder("/Upload/"); 22 try 23 { 24 //定义允许上传的文件扩展名 25 Hashtable extTable = new Hashtable(); 26 extTable.Add("image", "jpg,jpeg,png,bmp"); 27 extTable.Add("Flash", "swf,flv"); 28 extTable.Add("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb"); 29 extTable.Add("file", "doc,docx,xls,xlsx,PPT,pptx,txt,zip,rar"); 30 //获取上传文件 31 HttpPostedFile imgFile = context.Request.Files["imgFile"]; 32 if (imgFile == null) 33 { 34 imgFile = context.Request.Files["Filedata"]; 35 } 36 //当前时间字符串 37 string timeString = DateTime.Now.ToString("yyyyMMddHHmmssfff"); 38 //设置存储目录 39 String dirName = context.Request.QueryString["dir"]; 40 if (String.IsNullOrEmpty(dirName)) 41 { 42 dirName = "image"; 43 } 44 if (!extTable.ContainsKey(dirName)) 45 { 46 showError("目录名不正确"); 47 } 48 if (imgFile.InputStream == null || imgFile.InputStream.Length > MAXFILESIZE) 49 { 50 showError("上传文件大小超过限制"); 51 } 52 //获取文件扩展名 53 string fileExt = Path.GetExtension(imgFile.FileName).ToLower(); 54 if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dirName]).Split(','), fileExt.Substring(1).ToLower()) == -1) 55 { 56 showError("上传文件扩展名是不允许的扩展名。\n只允许" + ((String)extTable[dirName]) + "格式。"); 57 } 58 //创建文件夹 59 savePath.Append(dirName + "/"); 60 string serverPath = Common.PathHelper.MapPath(savePath.ToString()); 61 if (!Directory.Exists(serverPath)) 62 { 63 Directory.CreateDirectory(serverPath); 64 } 65 String newFileName = timeString + fileExt; 66 String filePath = serverPath + newFileName; 67 //保存到服务器端 68 imgFile.SaveAs(filePath); 69 savePath.Append(newFileName); 70 //文件相对网站的虚拟路径 71 String fileUrl = savePath.ToString(); 72 if (String.IsNullOrEmpty(flag)) 73 { 74 fileUrl = aspxUrl + savePath.ToString(); 75 } 76 Hashtable hash = new Hashtable(); 77 hash["error"] = 0; 78 hash["url"] = fileUrl; 79 context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8"); 80 context.Response.Write(Common.ConverterHelper.ObjectToJson(hash)); 81 context.Response.End(); 82 83 } 84 catch (System.Threading.ThreadAbortException) 85 { 86 87 } 88 catch (HttpException ex) 89 { 90 //context.Response.Write("Error"); 91 //记录日志 92 new Common.LogHelper(typeof(UploadFileHandler)).Error(ex); 93 } 94 catch (Exception ex) 95 { 96 //context.Response.Write("Error"); 97 //记录日志 98 new Common.LogHelper(typeof(UploadFileHandler)).Error(ex); 99 }100 }101 102 103 private void showError(string message)104 {105 Hashtable hash = new Hashtable();106 hash["error"] = 1;107 hash["message"] = message;108 Response.AddHeader("Content-Type", "text/html; charset=UTF-8");109 Response.Write(Common.ConverterHelper.ObjectToJson(hash));110 Response.End();111 }UploadFileHandler Code
1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.IO; 5 using System.Text.RegularExpressions; 6 using System.Web; 7 using System.Web.SessionState; 8 9 namespace Webapplication1.Admin 10 { 11 public class FileManagerHandler : IHttpHandler,IRequiresSessionState 12 { 13 public void ProcessRequest(HttpContext context) 14 { 15 //验证权限 16 if (context.Session["User"] == null) 17 { 18 context.Response.Write("no permission"); 19 context.Response.End(); 20 return; 21 } 22 //从配置文件中读取网址信息 23 String aspxUrl = Common.Config