CKFinder 自定义文件路径扩展ConfigurationPathBuilder
CKFinder 自定义文件路径扩展ConfigurationPathBuilder
打开config.xml当中可以看到如下配置
<basePathBuilderImpl>com.ckfinder.connector.configuration.ConfigurationPathBuilder</basePathBuilderImpl>
打开这个类的源代码
/*
* CKFinder
* ========
* http://cksource.com/ckfinder
* Copyright (C) 2007-2014, CKSource - Frederico Knabben. All rights reserved.
*
* The software, this file and its contents are subject to the CKFinder
* License. Please read the license.txt file before using, installing, copying,
* modifying or distribute this file or part of its contents. The contents of
* this file is part of the Source Code of CKFinder.
*/
package com.ckfinder.connector.configuration; import javax.servlet.http.HttpServletRequest; import com.ckfinder.connector.utils.PathUtils; /**
* Path builder that creates default values of baseDir and baseURL.
*/
public class ConfigurationPathBuilder extends DefaultPathBuilder { /**
* Gets configuration value of baseUrl. When config value is not set, then
* return default value.
*
* @param request request
* @return default baseDir value
*/
@Override
public String getBaseUrl(final HttpServletRequest request) {
String baseURL = null;
try {
IConfiguration conf = ConfigurationFactory.getInstace().getConfiguration();
baseURL = conf.getBaseURL();
} catch (Exception e) {
baseURL = null;
}
if (baseURL == null || baseURL.equals("")) {
baseURL = super.getBaseUrl(request);
} return PathUtils.addSlashToBeginning(PathUtils.addSlashToEnd(baseURL));
} /**
* Gets configuration value of baseDir. When config value is not set, then
* return default value.
*
* @param request request
* @return default baseDir value
*/
@Override
public String getBaseDir(final HttpServletRequest request) {
String baseDir = null;
try {
IConfiguration conf = ConfigurationFactory.getInstace().getConfiguration();
baseDir = conf.getBaseDir();
} catch (Exception e) {
baseDir = null;
}
if (baseDir == null || baseDir.equals("")) {
return super.getBaseDir(request);
} else {
return baseDir;
}
}
}
一共俩个方法,一个是获取资源URL的,一个是获取服务器端文件路径的,所以我们复写这俩个方法实现我们自己的逻辑就可以了。
public class MyConfigurationPathBuilder extends ConfigurationPathBuilder { private String getCustomPath(HttpServletRequest request) {
return request.getSession().getAttribute("bathPath").toString();
//return "EP/";
} /**
* Gets configuration value of baseUrl. When config value is not set, then
* return default value.
*
* @param request request
* @return default baseDir value
*/
@Override
public String getBaseUrl(final HttpServletRequest request) {
return super.getBaseUrl(request)+ getCustomPath(request);
} /**
* Gets configuration value of baseDir. When config value is not set, then
* return default value.
*
* @param request request
* @return default baseDir value
*/
@Override
public String getBaseDir(final HttpServletRequest request) {
return super.getBaseDir(request) + getCustomPath(request);
}
}
CKFinder 自定义文件路径扩展ConfigurationPathBuilder的更多相关文章
- RocketMQ 自定义文件路径
一 .1. 修改store路径2. 修改logs路径3. 修改rmq_bk_gc.log路径4. 修改rmq_srv_gc.log路径二 .1. 获取正确的rocketmq 源码2. 地址:https ...
- C# 截取带路径的文件名字,扩展名,等等 的几种方法
C#对磁盘IO操作的时候,经常会用到这些,路径,文件,文件名字,文件扩展名. 之前,经常用切割字符串来实现, 可是经常会弄错. 尤其是启始位置,多少个字节,经常弄晕. 下面这种方法貌似比较简便: st ...
- 从字符串总分离文件路径、命名、扩展名,Substring(),LastIndexOf()的使用;替换某一类字符串,Replace()的用法
一:从字符串总分离文件路径.命名.扩展名,上图 二:代码 using System; using System.Collections.Generic; using System.ComponentM ...
- python学习笔记(自定义库文件路径)
博主最近在弄接口自动化.主要是基于python自带的unittest框架.包括 Pubilc模块定义所有接口. Main模块根据业务需求重新封装接口便于测试. config文件导入测试业务的固定参数. ...
- android自定义camera以及uri和文件路径之间的转换
相对直接调用系统的camera,这种方法使用得相对还少一些.根据api文档,步骤如下: 定义一个预览类 可以参照<android高薪之路>这本书上面,有这种方法的一种完整实现 而对应的ac ...
- 修改CKFinder上传路径
一.CKFinder的若干问题 1.单独使用 ckfinder从原fckeditor分离出来以后可以单独使用,通常我习惯于在工具栏中添加ckfinder.dll,这样以后要使用ckfinder直接从工 ...
- C# 自定义文件图标 双击启动 (修改注册表)
程序生成的自定义文件,比如后缀是.test 这种文件怎么直接启动打开程序,并打开本文件呢 1.双击打开 2.自定义的文件,有图标显示 3.自定义的文件,点击右键有相应的属性 后台代码:(如何在注册表中 ...
- Spring配置文件详解 - applicationContext.xml文件路径
spring的配置文件applicationContext.xml的默认地址在WEB-INF下,只要在web.xml中加入代码 org.springframework.web.context.Cont ...
- Spring配置文件详解 – applicationContext.xml文件路径
Spring配置文件详解 – applicationContext.xml文件路径 Java编程 spring的配置文件applicationContext.xml的默 ...
随机推荐
- servlet 转发和超链接转发
超链接属于客户端跳转,request是无法取得属性的 我们知道一个jsp相当与一个servlet 例如,客户端请求A.jsp页面,在A.jsp页面调用request.getAttribute方法放入属 ...
- [转载]ubuntu发热问题解决
原文地址:ubuntu发热问题解决作者:raosea 没事装了个ubuntu12.04玩玩. 用wubi安装,很省事的 .完了以后启动了系统,界面蛮好看.可是不久令人费心的事情出来了. 我发现本本的右 ...
- Jsp应用EL和JSTL实例对比。
普通方式: register.jsp <%@ page language="java" import="java.util.*" pageEncoding ...
- bash 基本功能
1 shell概述 shell是一个命令解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序.用户可以用shell启动.挂起.停止甚至是编写一些程序. shell是一个功能强大 ...
- Python 列表 count() 方法
描述 Python 列表 count() 方法用于统计某个元素在列表中出现的次数. 语法 count() 方法语法: L.count(obj) 参数 obj -- 列表中统计的对象. 返回值 返回元素 ...
- 统一日志监控系统 springboot websocket 简单版 王代军-作品
http://git.oschina.net/redArmy/springboot-websocket-logs 目的: 统一监控 开发测试环境日志 如果需要可以拓展线上环境的日志(自己视情况而定) ...
- django1.8forms读书笔记
一.HttpRequest对象的一些属性或方法 request.path,The full path, not including the domain but including the leadi ...
- java连接mysql数据库实例
做游戏客户端多一年多了,在大学学的java的SSH,基本上都忘完了,今天看了一下发现基本的连接数据库的都忘了...太可怕了这遗忘的速度. 所以写了个连接的例子吧..安装好mysql数据库之后新建了两张 ...
- Smarty之html_options使用心得
<select name="group_id">{html_options options=$member_group selected=$member.group_i ...
- laravel的模型和数据库基础操作
laravel分为三大数据库操作(DB facade[原始查找],查询构造器[Query Builder],Eloquent ORM): use Illuminate\Support\Facades\ ...