ckeditor和ckfinder结合,使不同用户上传文件到自己的文件夹
2016-07-26 17:18
375 查看
我们在使用ckeditor和ckfinder 上传文件的时候所有用户都能看到, 有时候我们想让每一个用户都有自己的文件夹自己可以管理而不影响到其他用户上传的文件。 其实很简单我们只需要动态改变config.xml文件就可以。
下面贴上代码:
用户登录的时候可以调用这个方法修改config.xml配置文件的baseDir和baseURL的值,从而实现每个用户上传的东西都是分开保存的。
最后说下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")
好了就到这里了 ,又不懂的可以留言。或者有其他方法也是可以交流一下。
相关文章推荐
- Java获取package下所有的class对象(普通文件包和Jar文件包)
- json extionsion
- js日期相关
- React/React Native 的ES5 ES6写法对照表
- Uva 10340 - All in All
- socket服务器的搭建-Mac
- Git常用命令总结
- [Err] 1093 - You can't specify target table 'table' for update in FROM clause处理
- ios 验证码生成
- 一些线程安全的对象
- linux下多定时器的实现(经典)
- MySql——得到ResultSet的记录个数的正确方法
- Android实战打飞机游戏之子弹生成与碰撞以及爆炸效果(5)
- RabbitMQ - 引入库产生的一次pthread_create错误
- Word怎么转PDF详细教程
- SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式(转载)
- Linux下搭建一个简单的TCP通信
- appium环境搭建(python+windows)
- 浅识J2EE十三个规范
- OpenCV两种易于理解的访问像素的方法