首页 > 开发 > 综合 > 正文

网页编辑器FCKEditor自定义用户目录的修改步骤 (附源码)

2024-07-21 02:53:44
字体:
来源:转载
供稿:网友
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


注:相关教程知识阅读请移步到编辑器频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表