FCKEditor 自定义用户目录的修改步骤 (附源码)
程序员文章站
2022-03-20 15:08:05
由于我这边的网络原因,没用从fck的官网下载到源码... 这套源码是fck2.2版反编译出来的 源码:点此下载 源码中主要修改的地方做了注释 大致的修改如下 : 获取用户目...
由于我这边的网络原因,没用从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