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,表单元素等) 该界面的皮 ...
随机推荐
- Sql语句备份Sqlserver数据库
BACKUP DATABASE [POS_YiZhuang]TODISK = N'C:\数据库\POS_YiZhuang2016-09-20-3.bak'WITHNAME = N'POS_YiZhua ...
- MySQL锁类型以及子查询锁表问题、解锁
MySQL中select * for update锁表的范围 MySQL中select * for update锁表的问题 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主 ...
- javascript 之基本包装类型--04
基本包装类型 基本包装类型是特殊的引用类型.每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而可以调用属性.方法来进行后续操作. ECMAScript还提供了三种基本包装类型 ...
- Kotlin——最详细的接口使用、介绍
在Kotlin中,接口(Interface)的使用和Java中的使用方式是有很大的区别.不管是接口中的属性定义,方法等.但是定义方式还是相同的. 目录 一.接口的声明 1.接口的声明 关键字:inte ...
- centos 安装giblab
本文章转载自:http://www.cnblogs.com/fanjingfeng/p/6665597.html 一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程 cento ...
- TCP建立连接和断开连接图解
参考博客: http://blog.csdn.net/whuslei/article/details/6667471 http://www.2cto.com/net/201310/251896.htm ...
- Solitaire
Solitaire Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- java爬虫--jsoup简单的表单抓取案例
分析需求: 某农产品网站的农产品价格抓取 网站链接:点击打开链接 页面展示如上: 标签展示如上: 分析发现每日价格行情包括了蔬菜,水果,肉等所有的信息,所以直接抓每日行情的内容就可以实现抓取全部数据. ...
- AngularJS学习篇(二)
AngularJS 指令 AngularJS 通过被称为 指令 的新属性来扩展 HTML. AngularJS 通过内置的指令来为应用添加功能. AngularJS 允许你自定义指令. Angular ...
- CentOS恢复root口令方法
CentOS6和CentOS7恢复root口令的方法有很大不同 CentOS6: 在引导菜单倒计时界面按任意键,进入grub引导菜单 按e键进入内核引导参数编辑界面 选中kernel项,按e键编辑引导 ...