西西软件下载最安全的下载网站、值得信赖的软件下载站!

首页西西教程其它教程 → fckeditor编辑器文件上传路径设置教程

fckeditor编辑器文件上传路径设置教程

相关软件相关文章发表评论 来源:西西整理时间:2012/12/9 14:47:08字体大小:A-A+

作者:西西点击:0次评论:0次标签: fckeditor

  • 类型:网页编辑大小:1.2M语言:中文 评分:6.6
  • 标签:
立即下载

使用过FCKeditor的朋友肯定都知道,FCKeditor的文件上传的文件都是保存在自定义的目录下,而且保存的目录仅仅按照文件类型进行了划分,只有4个:file、flash、image和media(FCKeditor有内置的管理器可以自由建立文件夹,但是由于并不安全所以这块被我关闭掉了,用户所要做的事情就是上传),而实际的应用过程中我们不可能将这些同类型的文件放在一个文件夹下,我们需要有特殊的逻辑来存放,比如:新闻相关文件是按照月份来存放、博客资源是按照博主的用户名来存放等等,这时FCKeditor的基本上就满足不了我这个需求了,所以就需要研究FCKeditor的源码进行简单修改来达到我们的目的。

FCKeditor主要由2部分组成,一部分就是FCKeditor的HTML包,包含了JS、HTML页面主要负责与客户端的交互,而另一部分就是具体的C#程序集FredCK.FCKeditorV2。

其中FCKeditor的上传部分主要也分2个部分:

1、面向客户端UserControl——config.ascx(存放于fckeditor\editor\filemanager\connectors\aspx\下)

2、服务器端负责上传的具体类:FredCK.FCKeditorV2.FileBrowser.Config.cs

一、.NET 配置
web.config


WebSite:虚拟目录名

在VS里是对的,但放到IIS中就不行了,因为IIS的虚拟目录不是WebSite了,所以要保证虚拟目录名不是固定死的,要适应随时变化。 

IIS里配置:启用父路径  

二、路径设置

1.相对应用路径

在属性文件fckeditor.properties中添加如下值

connector.userFilesPath=/app/11_fmss/jyjj/user_temp_files
connector.userFilesAbsolutePath=/app/11_fmss/jyjj/user_temp_files

这个样文件就会传到指定的这个路径下,相应的image、file系统自动添加。

知道看net.fckeditor.handlers.PropertiesLoader类就明白什么意思了。

2.肯能变化的相对路径

配置文件的写法

connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl
connector.userPathBuilderImpl = cn.cpees.k_fmss.jyjj.service.FckeditorUserPath
这里不用指定路径,指定我们要定义的生产路径的类即可。

FckeditorUserPath类的写法

public class FckeditorUserPath  implements UserPathBuilder{
 
 
  public String getUserFilesAbsolutePath(HttPServletRequest request) {
   return "/app/11_fmss/jyjj/user_temp_files/"+request.getSession(false).getAttribute("username")+"/"+DateUtil.currentDate();
  }
 
  public String getUserFilesPath(HttpServletRequest request) {
  
   return "/app/11_fmss/jyjj/user_temp_files/"+request.getSession(false).getAttribute("username")+"/"+DateUtil.currentDate();
  
  }
 
 }
这个类是生产路径的类。

3.绝对路径。

默认情况下FCKeditor改变上传文件的路径只能在应用下面,而不能写绝对路径,如果设置绝对路径需要扩展FCKeditor,扩展的方法是首先改配置文件fckeditor.properties的改法

connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl
connector.impl = net.fckeditor.connector.impl.LocalConnector  //扩展connector,不能用默认的connector实现
connector.userPathBuilderImpl = cn.cpees.k_fmss.jyjj.fckeditor.FilePathBuilder//自定义userPathBuilderImpl 的扩展类

这个类要求实现UserPathBuilder接口以及他的方法

FilePathBuilder类的写法

import javax.servlet.http.HttpServletRequest;

import net.fckeditor.requestcycle.UserPathBuilder;
import cn.common.component.PathPool;
import cn.common.component.logger.LOG;
import cn.common.component.logger.LogFactory;

public class FilePathBuilder implements UserPathBuilder{

 LOG log = LogFactory.getLogger(FilePathBuilder.class);
 
 public String getUserFilesAbsolutePath(HttpServletRequest request) {
//   return PathPool.getDownloadFilePath();

    return "d:/file";
 }

 public String getUserFilesPath(HttpServletRequest tequest) {
   //return PathPool.getDownloadFilePath();

   return "d:/file";
 }

}

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)