zoukankan      html  css  js  c++  java
  • 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);
        }
    }

     

  • 相关阅读:
    JavaScript+IndexedDB实现留言板:客户端存储数据
    怎么限制Google自动调整字体大小
    《互联网时代》告诉我的互联网简史(二)
    《互联网时代》告诉我的互联网简史(一)
    CSS换行:word-wrap、word-break和text-wrap区别
    php中的字符串和正则表达式
    php数组使用小结
    问题:关于一个贴友的js留言板的实现
    问题:关于坛友的一个定时重复显示和隐藏div的实现
    使用union 外加count
  • 原文地址:https://www.cnblogs.com/daxin/p/3723206.html
Copyright © 2011-2022 走看看