Ckeditor与Ckfinder的配合使用,上传图片、水印、修改图片名字为当前日期 asp.net
为了配置出来上传功能,并且还添加水印,修改图片的名字为日期,真的头疼了很久,现在来分享一下自己所做的,也算一点小小的成就吧,顺带帮帮很多还在弄这个的猿们。我是分别用了两种方法。先说低版本的Version 2.0, September 2011,昨天配置好了。先认识一下ckeditor跟ckfinder的区别吧,cke呢只要是文本编辑器,单不具备上传的功能,所以有加了ckf,接下来详细说明。
1. 现在官网里面下好对应的版本,把它添加到项目中,如下:

2.然后就去配置ckeditor的config.js的外观,我这里只有一下简单的配置

3.新建一个页面,叫做defalu.aspx,在这里添加一个文本框,就是为了显示文本编辑器用的
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Height="83px" Width="343px" />
链接了这三个js文件,然后运行就会出现你想要的效果。
<script src="ckeditor/ckeditor.js" type="text/javascript"></script>
<script src="scripts/jquery-3.1.1.min.js" type="text/javascript"></script>
<script src="ckfinder/ckfinder.js" type="text/javascript"></script>

4.现在点击图片上传功能还不行,所以接着配置ckfinder里的config.ascx文件,
public override bool CheckAuthentication()
{
return true; //如果有登录就在加判断语句
}
5.现在上传这个按钮也能出来了,需要配置图片上传的路径。如下图,我的图片是保存在ckfinder/userfiles里面。

6.如果觉得图片预览区的英文单词太多了,就去\postfile\ckeditor\plugins\image\dialogs\image.js里面删除b.config.image_previewText后单引号的英文,注意别删多了,或者直接在config.js添加 config.image_previewText = ''; //清空预览区域显示内容。
7.现在上传已经可以啦,只是怎么修改文件名呢,为此我也找了很多源码,后来发现了这一个,感谢博主的分享,链接贴下。http://www.cnblogs.com/juexin/archive/2012/10/25/2738235.html对着这个改了改,后来上传图片时自动以时间命名啦。

8. 水印是把config.ascx里面的watermarker部分的注释//给去掉,同时在watermarker文件的bin文件中找到watermarker.dll这个动态库,添加引用就可以啦。如果没有出现默认的ckfinder的那张水印图,有可能是你文件中没有那张图,或者是网站的目录结构问题,我当时没弄出来就是网站的目录结构问题,还好当时有人帮忙看了,不然我这个才入门的也不会注意到那么多。
现在是第二种方法,目前最高的版本,ckf3.3.1

项目布局结构图如下,其他的都跟上面的相似,只是新版的没有config.ascx,只好自己又写了一个upload.ashx,现将这个一般处理程序代码贴上,上传的时候会自动获取当前的时间命名。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace CKEditor_demo.JS
{
/// <summary>
/// upload 的摘要说明
/// </summary>
public class upload : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
//获取图片
HttpPostedFile uploads = context.Request.Files["upload"];
string CKEditorFuncNum = context.Request["CKEditorFuncNum"];
//获取文件名
//string file = System.IO.Path.GetFileName(uploads.FileName);
string file = System.IO.Path.GetExtension(uploads.FileName);
//当前时间
var now = DateTime.Now;
//随机数
// Random ran = new Random();
// int RandKey = ran.Next(1000, 9999);
//图片存放的大路径
string path = string.Format("/upload/");
//图片存放的服务器本地路径
string localPath = context.Server.MapPath(path);
//图片存放的服务器本地路径 如果不存在 则新建文件夹
if (!System.IO.Directory.Exists(localPath))
System.IO.Directory.CreateDirectory(localPath);
//图片路径
var PicPath = string.Format("{0}/{1}{2}", path, now.ToString("yyyyMMddhhmmss"),file);
//保存图片
uploads.SaveAs(context.Server.MapPath(PicPath));
//给编辑器返回路径
string url = PicPath.Replace("/", "/");
//输出
context.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + url + "\");</script>");
context.Response.End();
}
public bool IsReusable
{
get
{
return true;
}
}
}
}
当时新版本的应该是文件缺失了,所以浏览服务器的时候会出问题,其他的功能都OK!

然而浏览到服务器就...

等新版本哪位大神配置出来后就多分享吧!每天进步一点点,时间长了就能看出变化~
Ckeditor与Ckfinder的配合使用,上传图片、水印、修改图片名字为当前日期 asp.net的更多相关文章
- CKEditor + CKFinder 实现编辑上传图片配置 (二)
CKEditor + CKFinder 实现编辑上传图片配置 (二) 上传图片时,如果上传的图片过大,默认情况情况下回自动裁剪,代码如图 \ckfinder\config.php 目录下的配置文件co ...
- 基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder
Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEditor的配置和使用.CKEditor的前身是FCKEdito ...
- 在ASP.NET MVC中使用CKEditor和CkFinder
在你需要使用editor控件的页面头部添加: <head> ... <script type="text/javascript" src="/ckedi ...
- 12.HTML编辑器(CKEditor、CKFinder集成)
CKEditor原名为FckEditor,是著名的HTML编辑器,可以在线编辑HTML内容. 配置参考文档:主要将ckeditor中的lang.plugins.skins.ckeditor.js.co ...
- MVC5富文本编辑器CKEditor配置CKFinder
富文本编辑器CKEditor的使用 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- 编辑控件CKEditor和CKFinder
-使用HTML编辑控件CKEditor和CKFinder Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEdit ...
- Ckeditor与Ckfinder(java)整合实现富媒体内容编辑(支持文件上传)
先来看一下最终的效果图 一.编辑器界面 二.上传图片界面 <!-------------------------------------------------------> 一.安装包下 ...
- (转)基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder
http://www.cnblogs.com/wuhuacong/p/3780356.html Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文 ...
- CKEditor与CKFinder学习--自定义界面及按钮事件捕获
原文地址:CKEditor与CKFinder学习--自定义界面及按钮事件捕获 讨厌CSDN的广告,吃香太难看! 效果图 界面操作图 原始界面 调整后的界面(删除了flush,表单元素等) 该界面的皮 ...
随机推荐
- 【转】漫谈linux文件IO--io流程讲的很清楚
[转]漫谈linux文件IO--io流程讲的很清楚 这篇文章写的比较全面,也浅显易懂,备份下.转载自:http://blog.chinaunix.net/uid-27105712-id-3270102 ...
- SPARK 创建新任务
1.应用程序创建 SparkContext 的实例 sc 2.利用 SparkContext 的实例来创建生成 RDD 3.经过一连串的 transformation 操作,原始的 RDD 转换成为其 ...
- Java基础总结--多线程总结2
----多线程通信-----1.概述:多个线程处理同一个资源,但是各自的任务不相同eg:线程1负责存储数据,线程2负责处理该数据.数据--就是同一个资源怎样用java语言描述上面的例子:* 资源是变化 ...
- C++函数重载和函数模板(04)
函数重载 函数重载可以使一个函数名具有多种功能,即具有“多种形态”,这种特性称为多态性. C++的多态性又被直观地称为“一个名字,多个函数”.源代码只指明函数调用,而不说明具体调用哪个函数.编译器的这 ...
- 【20171028早】ubuntu 16.04 LTS 安装php遇到的问题
背景: 10月28日的一个早上,老黑一如往常地练习,我测试不破坏,当时我找到sqli-libs 游戏,可是我没有立即开始,于是,奇妙的事情就由php开始了.ubuntu16.04安装相关环境 apac ...
- left join 条件位置问题
表一:
- 一条咸鱼的梦--python
毕业到现在已经有一年多了,或者说已经工作了一年多,这样以一个社会人的说法比较贴切吧.工作的这段时间里,我曾经有无数次的在问我该干什么,我想干什么,这好像一个深奥的哲学问题,好像并不是只有我一个毕业生思 ...
- Grunt参考
Grunt参考: http://www.cnblogs.com/yexiaochai/p/3603389.html http://blog.csdn.net/wangfupeng1988/articl ...
- HTML5 设备上的API
一.Vibration API ,接受两种类型参数 vibrate (unsigned long time) 当参数是unsigned long的时候 此时参数表示震动时间. NotSuppor ...
- JAVA_读取XML文件
在项目中,很多种情况都需要将一些配置写在xml文件或者properties文件里,便于日后修改配置,好维护等等. 1.新建xml文件 <?xml version="1.0" ...