解决JFinal多文件上传时只获取到第一个文件名

时间:2021-05-19 10:43:59

我的思路: 
用户生成时随即生成一串随机字符作为该用户的文件上传目录,并保存该字符串到用户的某一字段.需要显示上传的附件时,遍历这个文件夹.上传时可把文件名设置为上传时间. 
1.生成上传路径 
可写在注册方法中

String media_path = SessionIdKit.me().generate(getRequest());
user.setMediaPath(media_path);

2.路径检测和遍历文件夹工具类 utils包下PathUtils.java

//显示用户上传的图片文件
public void media_pic() {
User user = getSessionAttr(getCookie("cuser"));
String path = PathKit.getWebRootPath() + "\\upload\\photo\\" + user.getMediaPath() + "\\";
List<String> list = PathUtils.getAllFilePath(path); if(list==null){
setAttr("ErrMsg", "您未上传图片资料!");
render("error.html");
return;
} setAttr("picList", list);
setAttr("user", user);
render("media_pic.html");
}

3.显示用户上传的文件

//显示用户上传的图片文件
public void media_pic() {
User user = getSessionAttr(getCookie("cuser"));
String path = PathKit.getWebRootPath() + "\\upload\\photo\\" + user.getMediaPath() + "\\";
List<String> list = PathUtils.getAllFilePath(path); if(list==null){
setAttr("ErrMsg", "您未上传图片资料!");
render("error.html");
return;
} setAttr("picList", list);
setAttr("user", user);
render("media_pic.html");
}

当前解决方案只满足当时的需求.

参考原文:https://blog.csdn.net/u012995856/article/details/52968526