FCKEditor 自定义用户目录的修改步骤 (附源码)

由于我这边的网络原因,没用从FCK的官网下载到源码...
这套源码是FCK2.2版反编译出来的
源码:点此下载 源码中主要修改的地方做了注释
大致的修改如下 :
获取用户目录的源码: FileWorkerBase.cs
这里主要是做了一些注释
在程序中可以直接在用户登录的时候指定
这个方案只是方便多用户使用的时候为用户指定不同的文件目录
Session["FCKeditor:UserFilesPath"]="用户文件相对目录";


代码如下:

/// <summary>
/// 用户文件目录
/// </summary>
protected string UserFilesPath
{
get
{
if (this.sUserFilesPath == null)
{
//从APPlictaion 读取
this.sUserFilesPath = (string)base.Application["FCKeditor:UserFilesPath"];
if ((this.sUserFilesPath == null) || (this.sUserFilesPath.Length == 0))
{
//从Session读取
this.sUserFilesPath = (string)this.Session["FCKeditor:UserFilesPath"];
if ((this.sUserFilesPath == null) || (this.sUserFilesPath.Length == 0))
{
//从站点配置文件读取
this.sUserFilesPath = ConfigurationSettings.AppSettings["FCKeditor:UserFilesPath"];
if ((this.sUserFilesPath == null) || (this.sUserFilesPath.Length == 0))
{
this.sUserFilesPath = "/UpLoadFiles/";
}
if ((this.sUserFilesPath == null) || (this.sUserFilesPath.Length == 0))
{
//从URL读取
this.sUserFilesPath = base.Request.QueryString["ServerPath"];
}
}
}
if (!this.sUserFilesPath.EndsWith("/"))
{
this.sUserFilesPath = this.sUserFilesPath + "/";
}
}
return this.sUserFilesPath;
}
}

这样指定了之后会发现 FCK需要有Image,Files等文件夹
修改这个文件:Uploader .cs (下载地址)
修改过的上传文件操作类在这里:(如果你要修改原版的不必去把这个类文件搞到你的Web程序目录中来,我这里只是为了方便使用我项目中的APP_Code中的方法,下同不再赘述!)
Fckeditor\editor\filemanager\upload\aspx\upload.aspx.cs
修改的时候忘了做记录..这里貌似没改什么内容 只是做了点注释
呃找到了在这里 FileBrowserConnector
Fckeditor\editor\filemanager\browser\default\connectors\aspx\connector.aspx.cs(修改后的地址)


代码如下:

/// <summary>
/// 根据文件类型选择文件夹
/// </summary>
/// <param name="resourceType"></param>
/// <param name="folderPath"></param>
/// <returns></returns>
private string ServerMapFolder(string resourceType, string folderPath)
{
//2010-3-29 14:00:56
//string path = Path.Combine(base.UserFilesDirectory, resourceType);
string path = base.UserFilesDirectory;
Util.CreateDirectory(path);
return Path.Combine(path, folderPath.TrimStart(new char[] { '/' }));
}

这里直接把那个resourceType给排除掉了(去掉判断文件类型)
这个方法将影响选定图片后的图片路径


代码如下:

private string GetUrlFromPath(string resourceType, string folderPath)
{
if ((resourceType == null) || (resourceType.Length == 0))
{
return (base.UserFilesPath.TrimEnd(new char[] { '/' }) + folderPath);
}
//2010-3-29 14:00:20 HYZ
//return (base.UserFilesPath + resourceType + folderPath);
string p=base.UserFilesPath + folderPath;//新增
p=p.Replace("//","/");//新增
return (p);//新增
}

然后在其他的HTML文件中也修改有部分代码
1.翻译了提示信息
这东西就不说了..很简单你也可以根据提示信息全文搜索...
2.修改选定图片后的示例文本为中文
文件位于: 第52行
Fckeditor\editor\dialog\fck_image\fck_image_preview.html
3.修改文件浏览器增加了文件预览 (效果很粗糙)
高手们修改好看了还望能给小弟发一份儿..
文件位于:
Fckeditor\editor\filemanager\browser\default\frmresourceslist.html
我这里修改了第63行的js 显示预览效果
当然还有自定义表情之类的玩意儿..
但因为目前项目需要的就这么点儿东西.所以也懒得去搞了...
源码:点此下载
转载请注明出处:http://Qbit.cnblogs.com

(0)

相关推荐

  • FCKEditor 自定义用户目录的修改步骤 (附源码)

    由于我这边的网络原因,没用从FCK的官网下载到源码... 这套源码是FCK2.2版反编译出来的 源码:点此下载 源码中主要修改的地方做了注释 大致的修改如下 : 获取用户目录的源码: FileWorkerBase.cs 这里主要是做了一些注释 在程序中可以直接在用户登录的时候指定 这个方案只是方便多用户使用的时候为用户指定不同的文件目录 Session["FCKeditor:UserFilesPath"]="用户文件相对目录"; 复制代码 代码如下: /// <

  • 从零搭建Webpack5-react脚手架的实现步骤(附源码)

    目录 webpack5 正式开始 搭建指南 开始搭建 完成了依赖的准备工作,开始搭建项目 编写webpack.dev.js开发配置 开始编写webpack.prod.js生产配置 编写scripts命令 配置代码质量管控流程 单元测试 webpack5 近期终于有时间和精力专注于公司技术基础建设了,于是一开始,将公司的Saas系统改造成了微前端模式,解决了历史遗留的一部分问题 接着,想着webpack5已经发布这么久了,该在生产环境用起来了,也顺势想推动微前端.webpack5.vite在业内的

  • SpringBoot自定义加载yml实现方式,附源码解读

    目录 自定义加载yml,附源码解读 解决方法 源码解读 如何引入多个yml方法 方案一:无前缀,使用@Value注解 方案二:有前缀,无需@Value注解 自定义加载yml,附源码解读 昨天在对公司的微服务配置文件标准化的过程中,发现将原来的properties文件转为yml文件之后,微服务module中标记有@Configuration的配置类都不能正常工作了,究其原因,是由于@PropertySource属性默认只用于标记并告诉spring boot加载properties类型的文件 spr

  • 自定义GridView并且实现拖拽(附源码)

    写在前面的话 本篇blog实现了GridView的拖拽功能.方法和上一篇自定义ListView实现拖拽ListItem项交换位置一个原理.只是在交换位置上记录了X轴的相关坐标,计算了X轴的相关变量. 实现效果图如下  说明: 本篇给出实现代码,但是不做任何说明.如需了解请看上一篇blog:自定义ListView实现拖拽ListItem项交换位置 文件代码: 1.MainActivity.java 复制代码 代码如下: package com.jay.draggridview; import ja

  • 微信小程序之自定义组件的实现代码(附源码)

    最近在项目开发中,遇到好多雷同的页面样式,就想着可以将常用的功能模块封装成组件,方便在项目中使用和修改,下面就参照微信小程序的文档分步骤写一个微信小程序的组件. 附上效果图: step1:创建文件并申明 与创建微信小程序的页面一样,一个自定义组件也需要json,wxml,wxss,js四个文件. 在项目根目录中创建文件夹,取名为:component,在该目录下继续创建文件夹successModal. 可以在开发工具中右键创建,选择component,默认自动会创建四个文件.如图: 在succes

  • 自定义javascript验证框架示例【附源码下载】

    本文实例讲述了自定义javascript验证框架.分享给大家供大家参考,具体如下: 看过 jquery 验证框架,在使用的时候,其实还是很晕的,很麻烦,使用的时候代码也不简洁,因此才有了弄一个自己的jquery验证框架的计划,基本原理就是对 input ,select, textarea 这三类控件做校验,在里面定义自定义属性作为检验. 另外采用js 做i18n 国际化,通过cookies 中的语言,调用不同的js 语言包, 对于自己开发项目来说,足够用了,而且,还可以灵活扩展.个人用应该不错.

  • 使用ODBC数据库管理Serv-U的FTP用户及相关ASP编程[附源码示例下载]

    Serv-U是一种被广泛运用的FTP服务器端软件,支持3x/9x/ME/NT/2K等全Windows系列.可以设定多个FTP服务器.限定登录用户的权限.登录主目录及空间大小等,功能非常完备. 它具有非常完备的安全特性,支持SSl FTP传输,支持在多个Serv-U和FTP客户端通过SSL加密连接保护您的数据安全等. Serv-U 支持基于ODBC数据库的用户和用户组设置,这为我们基于Serv-U编程提供了良好的接口,接下来我们介绍如何具体实现. 一.使用ODBC数据库管理Serv-U 前提条件:

  • jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)

    上一篇记录了BaiduTemplate模板引擎使用示例(附源码),在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { $.fn.extend({ "ajaxrefresh": function (options) { //检测用户传进来的参数是否合法 if (!isValid(options)) return this; var opts = $.extend({}, defaluts, optio

  • jQuery 自定义下拉框(DropDown)附源码下载

    先给大家展示下效果图,喜欢的朋友可以下载源码哦 效果演示   源码下载 <section class="main"> <div class="wrapper-demo"> <div id="dd" class="wrapper-dropdown-1" tabindex="1"> <span>手册网</span> <ul class="

  • 自定义Android六边形进度条(附源码)

    本文实例讲述了Android自定义圆形进度条,分享给大家供大家参考.具体如下: 大家也可以参考这两篇文章进行学习: <自定义Android圆形进度条(附源码)>   <Android带进度的圆形进度条> 运行效果截图如下: 主要代码: package com.sxc.hexagonprogress; import java.util.Random; import android.content.Context; import android.content.res.ColorSta

随机推荐