ckeditor和ckfinder结合,使不同用户上传文件到自己的文件夹

本文介绍了一种通过修改CKFinder的config.xml文件实现不同用户上传文件隔离的方法。具体做法是利用Java程序动态更改配置文件中的baseURL参数,为每位用户创建独立的文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在使用ckeditor和ckfinder 上传文件的时候所有用户都能看到, 有时候我们想让每一个用户都有自己的文件夹自己可以管理而不影响到其他用户上传的文件。 其实很简单我们只需要动态改变config.xml文件就可以。

下面贴上代码:

package com.cityline.util;

import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;



/*创建不同用户的文件夹*/
public class CKfinderUtil {

	public void getUserName(String path,String userName){
		File inputXml=new File(path);
		SAXReader saxReader=new SAXReader();
		try {
			Document document=saxReader.read(inputXml);
			Element root=document.getRootElement();
			for(Iterator i=root.elementIterator();i.hasNext();){
				Element element=(Element)i.next();
				System.out.println(element.getName()+"--------"+element.getText());
				/*if(element.getName().equals("baseDir")){ //这个可以省略不用写
					element.setText("/project/userfiles/"+userName+"/");   //文件夹路径
}*/ if(element.getName().equals("baseURL")){ element.setText("/project/userfiles/"+userName+"/"); //文件夹路径 } System.out.println(element.getName()+"---11111---"+element.getText()); } XMLWriter writer=new XMLWriter(new FileWriter(new File(path))); writer.write(document); writer.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } }

用户登录的时候可以调用这个方法修改config.xml配置文件的baseDir和baseURL的值,从而实现每个用户上传的东西都是分开保存的。

最后说下config.xml配置文件的获取,不同的项目有不同的结构所以获取也是有所不同。

String path=Thread.currentThread().getContextClassLoader().getResource("/").getPath(); 
path = path.substring(1, path.indexOf("classes"))+"config.xml";   //这个是我用的方法

还可以使用这个来获取

String xmlcfgfile=request.getServletContext().getRealPath("WEB-INF/cfg.xml")

好了就到这里了 ,又不懂的可以留言。或者有其他方法也是可以交流一下。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值