CKEditor不借助CKFinder实现图片上传(.net版 ashx实现)
参考博客:http://blog.csdn.net/mydwr/article/details/8669594
本人版本:4.4.6
打开文件:ckeditor/plugins/image/dialogs/image.js
搜索内容:【c.config.image_previewText】,并删掉其后引号内的内容。
删除后格式:【c.config.image_previewText||""】。
与原文差异:原内容原文中是【b.config.image_previewText】,我这里是【c.config.image_previewText】,可能是版本不同的原因;原文中包括其后内容的包括号是单引号,我的版本是双引号,不影响使用。
修改影响:预览界面中杂乱的字符消失。
搜索内容:“upload”,并找到:【id:"Upload",hidden:!0】。
替换内容:将hidden的值改为0。
与原文差异:原文hidden后的值是true,我这里是非0。
修改影响:编辑器图片界面的上传按钮及选项卡出现。
打开文件:ckeditor/config.js文件
在配置的最后添加一条【config.filebrowserImageUploadUrl = "【ashx上传处理页面路径】";】
如果只是进行以上的设置的话,在图片上传完毕之后,会提示【缺少图像源文件地址】。
为了使其正常运行,则需要在图片上传成功的返回值中添加script将图片地址输入预览当中。
代码如下【注意将uploadImages/替换为图片存储的文件夹,modifiedName替换为上传后存储的文件名】:
context.Response.Write("<script type=\"text/javascript\">");
context.Response.Write("window.parent.CKEDITOR.tools.callFunction(" + callbackNumber + ",'" + "uploadImages/" + modifiedName + "','')");
context.Response.Write("</script>");
一定要将context.Response.ContentType设置为"text/html",而不是默认的"text/plain",返回的值才会是html代码而不是不能运行的纯字符串。
ashx上传处理页面如下【我的处理比较繁琐,各位可自行简化】:
public class UploaderHandler : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html"; //对文件进行校验
if ( > context.Request.Files.Count)
{
ResponseWriteEnd(context, "<span style='color: red; font-size: 20px;'>*请选择上传文件!</span>");
return;
}
else
{
HttpPostedFile _upfile = context.Request.Files[];
string fileName = _upfile.FileName;
string fileType = fileName.Substring(fileName.LastIndexOf(".") + ).ToLower();
int imgLength = _upfile.ContentLength;//获取文件的字节大小 if (!(fileType.Equals("jpg") || fileType.Equals("png") || fileType.Equals("bmp") || fileType.Equals("gif")))
{
ResponseWriteEnd(context, "<span style='color: red; font-size: 20px;'>*只能上传jpg/png/bmp/gif格式的图片!</span>"); //只能上传JPG格式图片
return;
}
else
{
if (imgLength > * * )
{
ResponseWriteEnd(context, "<span style='color: red; font-size: 20px;'>*图片最大不能超过5M!</span>"); //图片不能大于5M
return;
}
else
{
try
{
// 构造简单的防重复文件名
string callbackNumber = context.Request.QueryString["CKEditorFuncNum"];
string modifiedName = DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss_") + fileName;
string savePathName = context.Server.MapPath("uploadImages/" + modifiedName);
_upfile.SaveAs(savePathName);
if (_upfile.InputStream != null)
{
_upfile.InputStream.Close();
}
// 上传结束后自动跳转到预览界面,并显示预览
context.Response.Write("<script type=\"text/javascript\">");
context.Response.Write("window.parent.CKEDITOR.tools.callFunction(" + callbackNumber + ",'" + "uploadImages/" + modifiedName + "','')");
context.Response.Write("</script>");
ResponseWriteEnd(context, "<span style='font-size: 20px;'>上传成功!</span>"); //上传成功
return;
}
catch
{
ResponseWriteEnd(context, "<span style='color: red; font-size: 20px;'>服务器内部错误!</span>");
return;
}
}
}
}
} public bool IsReusable
{
get
{
return false;
}
} private void ResponseWriteEnd(HttpContext context, string message)
{
context.Response.Write(message);
context.Response.End();
}
}
CKEditor不借助CKFinder实现图片上传(.net版 ashx实现)的更多相关文章
- easyui+webuploader+ckeditor实现插件式多图片上传-添加图片权限(图片上传人是谁,只能看到自己的图片)
需求: 实现过程及思路 1.先页面布局 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=" ...
- easyui+webuploader+ckeditor实现插件式多图片上传
需求:在ckeditor编辑器上实现多图片上传并要求另外单独选择ckeditor上传的图片作为封面 页面效果说明: 动态效果图: 第一步:页面布局 <html xmlns="http: ...
- 在ASP.NET项目中使用CKEditor +CKFinder实现图片上传功能
前言 之前的项目中一直使用的是FCKeditor,昨天突然有个想法:为什么不试一下新的CKEditor呢?于是花了大半天的时间去学习它的用法,现在把我的学习过程与大家分享一下. 谈起FCKeditor ...
- PHP ckeditor富文本编辑器 结合ckfinder实现图片上传功能
一:前端页面代码 <script src="/www/res/ckeditor/ckeditor.js"></script> <textarea id ...
- .net_ckeditor+ckfinder的图片上传配置
CKEditor和CKFinder的最新版可以到官方网站(http://cksource.com)上下载获得. 把以上两个资源放到网站的根目录: /CKEditor 和 /CKFinder (不区分大 ...
- h5图片上传简易版(FileReader+FormData+ajax)
一.选择图片(input的file类型) <input type="file" id="inputImg"> 1. input的file类型会渲染为 ...
- ci 配置ckeditor + ckfinder 无图片上传按钮
一:配置路径有问题 {$base_url}assets/js/editor/ckfinder/ckfinder.html --> http://www.cnblogs.com/assets/j ...
- jsp中如何整合CKEditor+CKFinder实现文件上传
最近笔者做了一个新闻发布平台,放弃了之前的FCKEditor编辑器,使用了CKEditor+CKFinder,虽然免费的CKFinder是Demo版本,但是功能完整,而且用户都是比较集中精神发新闻的人 ...
- UMEditor(Ueditor mini)修改图片上传路径
UMEditor(Ueditor mini)修改图片上传路径 imageUp.ashx string pathbase = "/UpLoad/images/"; //保存文件夹在网 ...
随机推荐
- 解决使用JavaScriptConvert转换对象为Json时,中文和&符号被转码的问题
描述:比如 对象为var data=new {url="http://www.baidu.com?a=b&c=d"} 使用JavaScriptConvert序列化为JSON ...
- ubuntu14.04下安装有道词典
1.打开官方下载链接:http://cidian.youdao.com/index-linux.html 2.下载相应版本的安装包 3.直接双击安装包进行安装 可能会存在软件打不开的情况,更新下系统, ...
- PHPCMS二次开发——对栏目可用 limit 限定获取
为了实现类似用limit调用栏目,故自定义了mylimit(这里不能用limit,因为系统在解析的时候会覆盖,所以自定义的limit就起不到作用) 参数,例如: {pc:content action ...
- (转)CentoS 下报的 Requires: perl(:MODULE_COMPAT_5.8.8)
vim /etc/yum.repos.d/epel.repo 把 mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5& ...
- git工具使用方法及常用命令
git下载地址:https://git-for-windows.github.io/git环境变量配置:增加:GIT_HOME = C:\Git (文件夹为git软件的安装文件夹)Path添加: %G ...
- 【C语言】两种方式实现冒泡排序算法
题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...
- 关于WAMPserver配置httpd.conf无法修改根目录解决方法
最近在学习php开发, 在慕课网上先听了安装配置WAMP server的课,可是第二步配置网站根目录的地方就出错了,按照网课上讲的将httpd.conf文件中的 [Document] 和[Direct ...
- 让TextView里面的文字逐个显示的动画效果实现(1)
最近使用TextView时想要实现里面的文字逐个显示的动画效果,就如同打字一样. 主要实现思想:新建一个TextView的派生类,先将要逐个显示的字符串保存变量 mOriginalStr 中,然后启动 ...
- .NetCore上传多文件的几种示例
本章和大家分享的是.NetCore的MVC框架上传文件的示例,主要讲的内容有:form方式提交上传,ajax上传,ajax提交+上传进度效果,Task并行处理+ajax提交+上传进度,相信当你读完文章 ...
- 卷积神经网络CNN公式推导走读
0有全连接网络,为什么还需要RNN 图像处理领域的特殊性, 全连接网络缺点: RNN解决办法: 1参数太多 ...