html富文本框:kindeditor

1、kindeditor下載地址:http://kindeditor.net/demo.php

2.、引用的js文件:

kindeditor/plugins/code/prettify.css

kindeditor/kindeditor-all-min.js

kindeditor/lang/zh-CN.js

kindeditor/plugins/code/prettify.js

3、標籤

<textarea id="bbxi" name="bbxi" col="100" rows="8" style="width:710px; height:470px;visibility:hidden;"></textarea>

4、初始化

<script>

var editor;

var self;

KindEditor.ready(function(K){

editor = K.create('#bbxi',{

uploadJson:'UpLoad.ashx',

fileManagerJson:'ManagerUpImage.ashx',

allowFileManager:true,

afterCreate:function(){

self = this;

this.sync();

},

afterChange:function(){

this.sync();

},

afterBlur:function(){

this.sync();

}

});

prettyPrint();

})

</script>

5、web.confige配置,不然傳圖片等會出現錯誤,這是asp.net安全驗證機制導致,其中一種解決辦法如下:

在<system.wep>中添加<pages validateRequest="false" />

6、'UpLoad.ashx'文件:

 public class UpLoad : IHttpHandler
    {
        private HttpContext context;
        public void ProcessRequest(HttpContext context)
        {

String aspxUrl = context.Request.Path.Substring(0, context.Request.Path.LastIndexOf("/") + 1);

            //文件保存目錄路徑
            String savePath = "../Upload/";

            //文件保存目錄URL
            String saveUrl = aspxUrl + "../Upload/";

 //定義允許上傳的文件擴展名
            Hashtable extTable = new Hashtable();
            extTable.Add("image", "gif,jpg,jpeg,png,bmp");
            extTable.Add("flash", "swf,flv");
            extTable.Add("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
            extTable.Add("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");

 //最大文件大小
            int maxSize = 1000000;
            this.context = context;

            HttpPostedFile imgFile = context.Request.Files["imgFile"];
            if (imgFile == null)
            {
                showError("請選擇文件。");
            }

String dirPath = context.Server.MapPath(savePath);
            if (!Directory.Exists(dirPath))
            {
                showError("上傳目錄不存在。");
            }

            String dirName = context.Request.QueryString["dir"];
            if (String.IsNullOrEmpty(dirName))
            {
                dirName = "image";
            }

 if (!extTable.ContainsKey(dirName))
            {
                showError("目錄名不正確。");
            }

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

            if (imgFile.InputStream == null || imgFile.InputStream.Length > maxSize)
            {
                showError("上傳文件大小超過限制。");
            }

if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dirName]).Split(','), fileExt.Substring(1).ToLower()) == -1)
            {
                showError("上傳文件擴展名是不允許的擴展名。\n只允許" + ((String)extTable[dirName]) + "格式。");
            }

            //創建文件夾
            dirPath += dirName + "/";
            saveUrl += dirName + "/";
            if (!Directory.Exists(dirPath))
            {
                Directory.CreateDirectory(dirPath);
            }

String ymd = DateTime.Now.ToString("yyyyMMdd", DateTimeFormatInfo.InvariantInfo);
            dirPath += ymd + "/";
            saveUrl += ymd + "/";
            if (!Directory.Exists(dirPath))
            {
                Directory.CreateDirectory(dirPath);
            }

            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;
            }
        }

 }

7、'ManagerUpImage.ashx'文件:見下一遍

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章