下面就是我的思路:
我想法其实很简单,每个用户都有自己的用户名,而且不能改,所以我们就可以用用户的用户名,给每个用户建一个唯一的个人文件夹.
就是把原本上传的代码改一下就行了
// 创建文件夹 savePath += ServletActionContext.getRequest().getSession().getAttribute("username") + "/";//重要在这里 saveUrl += ServletActionContext.getRequest().getSession().getAttribute("username") + "/"; File DirFile = new File(savePath); if (!DirFile.exists()) { DirFile.mkdirs(); } // 创建文件夹 savePath += dirName + "/"; saveUrl += dirName + "/"; File saveDirFile = new File(savePath); if (!saveDirFile.exists()) { saveDirFile.mkdirs(); } // 创建文件夹 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); String ymd = sdf.format(new Date()); savePath += ymd + "/"; saveUrl += ymd + "/"; File dirFile = new File(savePath); if (!dirFile.exists()) { dirFile.mkdirs(); }
再把kindeditor给的file_manager_json.jsp改一下
//根目录路径,可以指定绝对路径,比如 /var/www/attached/ String rootPath = pageContext.getServletContext().getRealPath("/") + "attached/"+session.getAttribute("username")+"/"; //根目录URL,可以指定绝对路径,比如 http://www.yoursite.com/attached/ String rootUrl = request.getContextPath() + "/attached/"+session.getAttribute("username")+"/";
最后就可以了, 每个用户他只能打开他自己的文件夹,这就实现了个人空间;其它具体不懂的可以看 http://bgc250.iteye.com/blog/1744650