KindEditor配置步骤

KindEditor配置步骤KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。KindEditor使

大家好,又见面了,我是你们的朋友全栈君。

KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IEFirefoxChromeSafariOpera等主流浏览器。 KindEditor使用JavaScript编写,可以无缝的与Java.NETPHPASP等程序接合。

KindEditor非常适合在CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用,20067月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的编辑器之一。

 

目前最新版本 KindEditor 3.5.2,官网及下载地址

 

KindEditor配置步骤:

 

1、在项目中建立KindEditor文件夹,把下载下来后的文件解压,将其中的skinspluginskindeditor.js 拷到该KindEditor文件夹目录下;

 

2、在.aspx文件中放入TextBox控件,并设置控件ID

 

    如:<asp:TextBox ID=”txtContent” TextMode=”MultiLine”  runat=”server”></asp:TextBox>

 

3、在.aspx文件中引入kindeditor.js文件及Js代码,可将TextBox控件设置成KindEditor在线编辑器,代码如下:

view sourceprint?

  <script src=”../kindeditor/kindeditor.js” type=”text/javascript”></script>

  <script type=”text/javascript”>

      KE.show({

          id: txtContent,

          imageUploadJson: ‘/handler/upload_json.ashx’,

          items : [

          ‘source’, ‘|’, ‘fullscreen’, ‘undo’, ‘redo’, ‘print’, ‘cut’, ‘copy’, ‘paste’,

          ‘plainpaste’, ‘wordpaste’, ‘|’, ‘justifyleft’, ‘justifycenter’, ‘justifyright’,

          ‘justifyfull’, ‘insertorderedlist’, ‘insertunorderedlist’, ‘indent’, ‘outdent’,’subscript’,

          ‘superscript’, ‘|’, ‘selectall’, ‘-‘,

          ‘title’, ‘fontname’, ‘fontsize’, ‘|’, ‘textcolor’, ‘bgcolor’, ‘bold’,

          ‘italic’, ‘underline’, ‘strikethrough’, ‘removeformat’, ‘|’, ‘image’,

          ‘flash’, ‘media’, ‘advtable’, ‘hr’, ’emoticons’, ‘link’, ‘unlink’

         ]

    });

  </script>

 

其中,idTextBox控件的IDimageUploadJson: ‘/handler/upload_json.ashx’可设置图片上传(文件上传设置同理)item为设置编辑器工具栏上的每一个功能是否显示,可根据需要手动增删对应单词,如不需要“HTML代码”功能则删除“‘source’,”;

 

4、在.aspx页面的第一句话及Page指令中加上validaterequest=false”,禁止.net自动屏蔽上传Html代码;

 

  如:<%@ Page Language=”C#” ValidateRequest=”false”…

 

5、设置完毕,后台可直接通过TextBoxtext属性来获取编辑器内容;

 

另:设置KindEditor的图片上传功能

1、在刚才在.aspx页面中添加的js代码中添加imageUploadJson参数,

 

  如:imageUploadJson: ‘/handler/upload_json.ashx’

2、建立一般处理程序页面upload_json.ashx,该页面用于编写文件上传代码,在下载下来的源码有,在asp.net中,稍作修改,代码如下:

view sourceprint?

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Web;

  using System.Collections;

  using System.IO;

  using System.Globalization;

  using LitJson; // 需先手动添加LitJson.dll的引用,在asp.net/bin

   

  namespace Yongbin.Shop.Web.handler

  {

      /// <summary>

      /// upload_json 的摘要说明

      /// </summary>

      public class upload_json : IHttpHandler

      {

          //文件保存目录路径

        private String savePath = “/upload/” + DateTime.Now.ToString(“yyyyMMdd”) + “/”;  // 修改上传目录

        //文件保存目录URL(显示在kindeditor编辑器中的地址)

        private String saveUrl = “/upload/” + DateTime.Now.ToString(“yyyyMMdd”) + “/”;

        //定义允许上传的文件扩展名

          private String fileTypes = “gif,jpg,jpeg,png,bmp”;

        //最大文件大小

        private int maxSize = 1000000;

 

        private HttpContext context;

 

          public void ProcessRequest(HttpContext context)

        {

              this.context = context;

 

              HttpPostedFile imgFile = context.Request.Files[“imgFile”];

            if (imgFile == null)

            {

                showError(“请选择文件。“);

            }

 

            String dirPath = context.Server.MapPath(savePath);

            if (!Directory.Exists(dirPath))

            {

                  Directory.CreateDirectory(dirPath);  // 复制过来的代码改了这里,自动创建目录

            }

   

              String fileName = imgFile.FileName;

            String fileExt = Path.GetExtension(fileName).ToLower();

            ArrayList fileTypeList = ArrayList.Adapter(fileTypes.Split(‘,’));

 

            if (imgFile.InputStream == null || imgFile.InputStream.Length > maxSize)

            {

                showError(“上传文件大小超过限制。“);

            }

   

              if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(fileTypes.Split(‘,’), fileExt.Substring(1).ToLower()) == -1)

            {

                  showError(“上传文件扩展名是不允许的扩展名。“);

            }

 

              String newFileName = DateTime.Now.ToString(“yyyyMMddHHmmss_ffff”, DateTimeFormatInfo.InvariantInfo) + fileExt;

              String filePath = dirPath + newFileName;

 

              imgFile.SaveAs(filePath);

 

            String fileUrl = saveUrl + newFileName;

 

              Hashtable hash = new Hashtable();

            hash[“error”] = 0;

            hash[“url”] = fileUrl;

            context.Response.AddHeader(“Content-Type”, “text/html; charset=UTF-8”);

              context.Response.Write(JsonMapper.ToJson(hash));

            context.Response.End();

        }

 

        private void showError(string message)

        {

            Hashtable hash = new Hashtable();

            hash[“error”] = 1;

              hash[“message”] = message;

            context.Response.AddHeader(“Content-Type”, “text/html; charset=UTF-8”);

            context.Response.Write(JsonMapper.ToJson(hash));

              context.Response.End();

        }

 

          public bool IsReusable

        {

              get

              {

                  return false;

              }

          }

      }

  }

 

3、配置成功

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155471.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 计算立方体,圆柱,圆锥体积的小程序是啥_计算圆柱体体积的程序

    计算立方体,圆柱,圆锥体积的小程序是啥_计算圆柱体体积的程序#include<iostream>#include<cmath>usingnamespacestd;voidvolume_square();//立方体体积函数声明voidvolume_cylinder();//圆柱体积函数声明voidvolume_cone();//圆锥体积函数声明intmain(){intchoice=-1;…

  • 将JS嵌入C++ ————Spidermonkey引擎的使用「建议收藏」

    将JS嵌入C++ ————Spidermonkey引擎的使用「建议收藏」Spidermonkey是火狐的js引擎。我曾经仔细比较过C++嵌入Spidermonkey和v8,最终因为对多线程并行比较执着,于是最终选择了Spidermonkey。网上流传的关于Spidermonkey引擎的用法大多还停留在1.8.5版本。随着更新迭代,高版本的js引擎更快更符合js标准也更好用,但相关资料比较少,官网文档更是惨不忍睹几乎和没有文档一样。最近我接触到了…

    2022年10月16日
  • 激光测距项目整体框图及原理

    激光测距项目整体框图及原理**前言:**因为前面几个星期在忙着准备一个面试,这个星期开始持续更新。。。今天的内容是相位式激光测距项目的一个整体框图及原理介绍,这部分文章链接将会加到之前的大纲中!大纲链接:目录大纲目录:1相位式激光测距原理2FFT与APFFT鉴相法1相位式激光测距原理激光测距相位法的原理这里就简单介绍一下,下面几张图片均来源于网络。这个项目主要是对激光强度进行调制的相位式激光测距(…

  • 怎么完全卸载赛门铁克_如何干净彻底卸载诺顿?

    怎么完全卸载赛门铁克_如何干净彻底卸载诺顿?诺顿有那么难卸载吗?我来教你如何彻底卸载诺顿!本方法跟重装的新系统差不多,没痕迹!很多朋友都遇到过无法卸载诺顿的问题,其实这是有原因的,因為它和操作系统高度整合,所以很多文件会直接注册到系统中,所以比起一般软件来是难点,但这样可以更好的保护您的系统安全。通过以下的方法可以完全卸载掉诺顿,可以顺利的安装诺顿新版本或者其它的杀毒软件。1.单击【开始】-【控制面板】,打开控制面板窗口,单击【添加删除程…

  • Android触摸事件_简述兴奋在突触的传递过程

    Android触摸事件_简述兴奋在突触的传递过程版本:2.0日期:2014.3.21 2014.3.29 版权:©2014kince转载注明出处  一、基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突。比如在使用SliddingMenu菜单的时候,可能会与ViewPager或者其他的一些带有滑动事件的View相冲突,再比如ScrollView嵌套ListView相冲突等等。还有就是在自定义控件的时候,需

  • 固态硬盘坏了怎么恢复数据恢复不了_笔记本固态硬盘坏了数据能恢复吗

    固态硬盘坏了怎么恢复数据恢复不了_笔记本固态硬盘坏了数据能恢复吗今天的这篇经验和大家聊一聊关于固态硬盘坏了怎么恢复数据恢复的问题,希望能够帮助到有需要的朋友。方法/步骤 现在的电脑不用ssd简直对不起那么好的cpu,比较机械硬盘的速度才是目前整个电脑的性能瓶颈,而使用了ssd后,很多人都在说固态硬盘是不能恢复数据的,这是怎么回事呢?大家都知道传统的机械硬盘即便是数据删了,回收站清空了,只要不被大量的数据再次覆盖就可以恢复出原来的数据的,那么我什么这一点在ssd上不能用了呢?实测下来大多数默认的ssd数据丢失了都是10次有9次都恢复不了,为什么SSD的成…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号