ckeditor的简单使用以及多张图片上传插件的制作
来源:互联网 发布:机器人离线编程软件 编辑:程序博客网 时间:2024/05/16 01:19
效果图
一、网上下载 ckeditor_4.7.3_full 。
二、用VS2015新建MVC空白项目,将ckeditor_4.7.3_full 文件放入,并添加一个控制器DefaultController,加入以下上传图片的代码。
public class DefaultController : Controller{ [HttpPost] public string SaveDetailImg(HttpPostedFileBase files) { string returnStr = ""; if (files == null) { returnStr = "false,请先选择要上传的图片!"; } else { string fileName = Path.GetFileName(files.FileName); string suffix = fileName.Substring(fileName.LastIndexOf(".") + 1).ToLower(); /* 获取后缀名并转为小写:jpg */ if (suffix != "jpg" && suffix != "jpeg" && suffix != "bmp" && suffix != "png") { returnStr = "false,只支持上传后缀为jpg、jpeg、png或bmp的图片!"; } else { string file = "/Image/"; //图片将要保存的文件夹 string filePhysicalPath = Server.MapPath("~/" + file); if (!Directory.Exists(filePhysicalPath)) { Directory.CreateDirectory(filePhysicalPath); } string ImgName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + suffix; files.SaveAs(filePhysicalPath + ImgName); string url = file + ImgName; returnStr = "true," + url; } } return returnStr; }}
三、此时项目文件结构如下图。
四、index.html内的代码。
<!Doctype html><html><head> <title>jin_Test</title> <meta charset="utf-8"> <script src="ckeditor.js"></script></head><body><div id=""><textarea id="Product_Detail" name="">123</textarea></div> <script>var imgs = [];var SaveDetailImgUrl = "@Url.Action("SaveDetailImg")";CKEDITOR.replace('Product_Detail', { //编辑器设置language: 'zh-cn', // 语言: 中文,默认是英文allowedContent: true, //关闭标签过滤removePlugins: 'elementspath', // 编辑器下面不显示元素路径resize_enabled: true, // 是否允许拖动改变编辑器的大小height: '300px', // CKEditor 中编辑区的高度,不算工具栏的高度width: '710px',removeDialogTabs: 'image:advanced;image:Link;', filebrowserImageUploadUrl: SaveDetailImgUrl, //上传图片Actionimage_previewText: ' ' //图像属性对话框里的图像信息下的预览为空//CKEDITOR.config.readOnly = true;});</script></body></html>
上面的代码中有个上传单张图片的方法,如下。
[HttpPost]public ActionResult SaveDetailImg(HttpPostedFileBase upload) //上传商品详情里的单张图片,参数名称是upload。{ string returnStr = ""; if (upload == null) { returnStr = "alert('请先选择要上传的图片!');"; } else { string fileName = Path.GetFileName(upload.FileName); string suffix = fileName.Substring(fileName.LastIndexOf(".") + 1).ToLower(); /* 获取后缀名并转为小写:jpg */ if (suffix != "jpg" && suffix != "jpeg" && suffix != "bmp" && suffix != "png") { returnStr = "alert('只支持上传后缀为jpg、jpeg、png或bmp的图片!');"; } else { string file = "/Image/"; //图片将要保存的文件夹 string filePhysicalPath = Server.MapPath("~/" + file); if (!Directory.Exists(filePhysicalPath)) { Directory.CreateDirectory(filePhysicalPath); } string ImgName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + suffix; upload.SaveAs(filePhysicalPath + ImgName); string url = file + ImgName; string CKEditorFuncNum = System.Web.HttpContext.Current.Request["CKEditorFuncNum"]; //上传成功后,我们还需要通过以下的一个脚本把图片返回到第一个tab选项 returnStr = "window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ",\"" + url + "\");"; } } return Content("<script>" + returnStr + "</script>");}
五、在路径ckeditor_4.7.3_full\ckeditor\plugins下添加文件夹multiimg,并加入以下文件。
六、plugin.js内的代码。
(function() { CKEDITOR.plugins.add("multiimg", { requires: ["dialog"], init: function(a) { a.addCommand("multiimg", new CKEDITOR.dialogCommand("multiimg")); a.ui.addButton("Multiimg", { label: "批量上传图片",//调用dialog时显示的名称 command: "multiimg", icon: this.path + "images/upload.png"//在toolbar中的图标 }); CKEDITOR.dialog.add("multiimg", this.path + "dialogs/multiimg.js") } }) })();
七、其它内容略。
demo已上传:http://download.csdn.net/download/a851656458/10014397。
阅读全文
0 0
- ckeditor的简单使用以及多张图片上传插件的制作
- 【CKEditor 】CKEditor 图片的上传
- 【CKEditor 】CKEditor 图片的上传
- ckeditor的使用(行距,上传图片,字体)
- ckeditor的使用(包含上传图片)
- ckeditor的使用(行距,上传图片,字体)
- ckeditor的使用(行距,上传图片,字体)
- 使用CKeditor的图片上传功能
- CKEditor的使用,并实现图片上传
- 多张图片上传插件
- CKEditor插件的使用
- CKeditor插件的使用
- CKeditor上传图片的实现
- ckeditor上传图片的实现
- 使用httpHttpURLConnection上传多张图片和文字的方法
- 使用jquery实现多张图片的上传
- CKEditor的简单使用
- 使用ckeditor上传图片
- centos 7 ftp 服务器搭建
- selenium 中PageObject思想学习+部分unittest方法
- 远程桌面到 Ubuntu 虚拟机
- 实用的Eclipse快捷键
- 【JAVA开发之架构专题】10.NIO通信架构
- ckeditor的简单使用以及多张图片上传插件的制作
- Just do it
- Easy Problemset Gym100851E
- 二叉树的最长路径和(Binary Tree Maximum Path Sum)
- 最小局域网实现tftp
- 错误信息:Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
- excel数据导入导出的模块
- Linux-第五单元总结
- Android Fingerprint完全解析(三) :Fingerprint Hal层分析