kindeditor编辑器上传图片

使用的是asp.net MVC 上传图片。

1.下载Kindeditor的对应的包

2.html页面

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>UploadByKindeditor</title>


    <script src="~/Scripts/jquery-1.8.2.min.js"></script>
    <script src="~/Content/KindEditor/kindeditor.js"></script>
    <script src="~/Content/KindEditor/plugins/image/image.js"></script>


    <script type="text/javascript">
        var editor;
        var options = {
            uploadJson: '/BusinessPublic/UploadImage',   // (BusinessPublic,UploadImage为Action,下同) 上传图片
            fileManagerJson: '/BusinessPublic/UploadFile',    //上传文件
            allowFileManager: true,
        width: "100%", //编辑器的宽度为100%
        height: "250px", //编辑器的高度为100px
        filterMode: false, //不会过滤HTML代码
        resizeMode: 1 //编辑器只能调整高度
        };
        $(function () {
            editor = KindEditor.create('#content', options);
        });
    </script>


</head>
<body>
    <div>
        
            内容:<textarea id="content" name="content" style="height:300px;"></textarea>
       
    </div>
</body>
</html>

3.后台Action代码: 使用post提交 (上传文件都是使用post方式)

        [HttpPost]
        public ActionResult UploadImage()
        {

            string savePath = "/Resource/KindeditorImage/";

            string fileTypes = "gif,jpg,jpeg,png,bmp";

            int maxSize = 1000000;

            Hashtable hash = new Hashtable();

            HttpPostedFileBase file = Request.Files["imgFile"];

            if (file == null)
            {

                hash = new Hashtable();

                hash["error"] = 0;

                hash["url"] = "请选择文件";

                return Json(hash);

            }


            string dirPath = Server.MapPath(savePath);

            if (!Directory.Exists(dirPath))
            {

                Directory.CreateDirectory(dirPath);


            }



            string fileName = file.FileName;

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



            ArrayList fileTypeList = ArrayList.Adapter(fileTypes.Split(','));



            if (file.InputStream == null || file.InputStream.Length > maxSize)
            {

                hash = new Hashtable();

                hash["error"] = 0;

                hash["url"] = "上传文件大小超过限制";

                return Json(hash);

            }



            if (string.IsNullOrEmpty(fileExt) || Array.IndexOf(fileTypes.Split(','), fileExt.Substring(1).ToLower()) == -1)
            {

                hash = new Hashtable();

                hash["error"] = 0;

                hash["url"] = "上传文件扩展名是不允许的扩展名";

                return Json(hash);

            }



            string newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + fileExt;

            string filePath = dirPath + newFileName;

            file.SaveAs(filePath);

            //图片在服务器上的路径
            string fileUrl = savePath + newFileName;



            hash = new Hashtable();

            hash["error"] = 0;

            hash["url"] = fileUrl;



            return Json(hash, "text/html;charset=UTF-8"); ;

        }

PS:

通过KindEditor实现图片上传功能步骤:
(1)修改../plugins/image.js文件中fileName类型为file的name
 (2) 添加上传处理的URL:
 var editor;
     KindEditor.ready(function(K) {
         editor = K.create('#myeditor', 
        {
             uploadJson : '/uploadImg'
         });
  });

(3)返回Json的信息:

//成功时 { "error" : 0, "url" : "http://www.example.com/path/to/file.ext" }
//失败时 { "error" : 1, "message" : "错误信息" }
以下为老版本设置方法(过时):
------------------------------------------------------------------------------------------------
(1)修改../plugins/image.html文件中input类型为file的name

(2)编写服务器端图片上传方法,要求返回的结果为JSON格式

(3)JSON格式要求为:
{"error":0,"message":".....","url":"/img/1111.gif"} 
其中当error值为0时表示上传成功,需要指定url值为图片保存后的URL地址,如果error值不为0,则设置message值为错误提示信息
(4)Html页面:
//编辑器初始化设置
KE.show({
    id : 'editor',
    allowUpload : true, //允许上传图片
    imageUploadJson : '/saveImg' //服务端上传图片处理URI
});
//这里需要表单
<textarea id="editor" name="content" style="width:700px;height:300px;"></textarea>
(5)结束,就这么简单
注意:别忘了导入plugins/image文件夹,否则图片上传按钮无效。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: KindEditor编辑器可以通过以下步骤上传多张图片: 1. 点击编辑器中的“插入图片”按钮。 2. 在弹出的对话框中,选择“上传图片”选项卡。 3. 点击“选择文件”按钮,选择要上传的图片文件。 4. 重复步骤3,选择多张图片文件。 5. 点击“开始上传”按钮,等待上传完成。 6. 上传完成后,可以在“已上传图片”选项卡中查看已上传的图片。 7. 选中要插入的图片,点击“确定”按钮即可插入到编辑器中。 注意:上传多张图片时,需要等待每张图片上传完成后再选择下一张图片,否则可能会导致上传失败。 ### 回答2: kindeditor是一款非常常用的富文本编辑器,它不仅提供了基本的文本编辑功能,而且还支持上传多张图片的功能。下面就详细介绍一下如何使用kindeditor上传多张图片。 1. 准备工作 首先,在使用kindeditor上传多张图片之前,我们需要先准备好以下内容: ① kindeditor编辑器文件 ② kindeditor上传图片的处理程序文件,这个一般是后台开发人员编写的 ③ 存储上传图片的文件夹,这个一般由后台开发人员在处理程序中设置。 2. 设置kindeditor编辑器 在前端页面中,我们需要先引入kindeditor编辑器的相关文件。这些文件一般包括kindeditor.js和kindeditor.css等。引入之后,我们需要对kindeditor进行一些基本设置,如设置编辑器的宽度、高度等。同时,还需要在配置文件中设置上传图片的选项。 其中,设置上传图片的选项需要设置上传图片的处理程序地址、允许上传的图片类型、最大可以上传的图片大小、是否可以上传多张图片等。 3. 编写后端处理程序 在上传图片的处理程序中,我们一般需要在程序中编写以下基本功能: ① 判断上传的文件是否合法,包括文件类型是否允许上传、文件大小是否在规定范围内等。 ② 将上传的图片保存到指定文件夹中。 ③ 返回上传结果,一般是返回上传的图片地址或者上传失败的原因等。 4. 使用 在前端页面中,我们可以通过点击上传图片按钮来触发上传图片的功能。在点击上传图片按钮后,会弹出选择图片的对话框,我们可以选择多张图片,然后分别进行上传。上传完成后,可以在编辑器中看到上传的图片。 总的来说,kindeditor上传多张图片的功能非常实用,可以让我们的文章或网站更加丰富和有趣。同时,对于后端开发人员来说,也需要注意上传图片的文件类型和大小等问题,以确保上传图片的安全性和稳定性。 ### 回答3: KindEditor是一款基于jQuery和Zlib的网页富文本编辑器,它支持表格、混合开发、超过40种已配置的插件、代码自动提示与补全。在KindEditor中,用户可以方便地插入各类多媒体元素,包括图片、音视频等。也就是说,在KindEditor中上传多张图片非常容易。 具体的上传过程可以分为以下几个步骤: 1. 在前端页面中添加一个文件上传控件,例如: <input type="file" id="file" name="file" multiple/> 其中,multiple属性表示可以选择多个文件进行上传。 2. 在JavaScript中添加上传代码。使用KindEditor自带的uploadJson接口可以实现多张图片的上传: KindEditor.ready(function(K) { var editor = K.editor({ // 设置上传接口 uploadJson: '/upload_json.php', fileManagerJson: '/file_manager_json.php' }); K('#upload_img_btn').click(function() { editor.loadPlugin('multiimage', function() { // 打开上传多张图片的窗口 editor.plugin.multiImageDialog({ clickFn: function(data) { // 上传成功后执行的回调函数 } }); }); }); }); 在上述代码中,uploadJson属性设置上传接口,multiImageDialog方法打开多张图片上传的窗口。 3. 在服务器端编写PHP代码处理上传请求。具体的实现方式因不同的后端语言而异,在PHP中,可以使用$_FILE数组来处理上传文件。例如: if(!empty($_FILES['file']['name'])) { $fileArr = $_FILES['file']; for($i=0; $i<count($fileArr['name']); $i++) { $tmp_name = $fileArr['tmp_name'][$i]; $name = $fileArr['name'][$i]; // 保存文件到指定目录 move_uploaded_file($tmp_name, 'uploads/'.$name); $urlArr[] = 'uploads/'.$name; } echo json_encode(array('error' => 0, 'data' => $urlArr)); } 其中,$fileArr为上传的文件数组,$urlArr保存上传成功后每个文件的URL地址。 综上所述,KindEditor编辑器上传多张图片的步骤包括前端文件上传控件的添加、JavaScript上传代码的编写以及后端服务器代码的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值