波哥好!大家好!
因为之前用的是1.4版本,导致现在更新到3.1后多文件上传导致上传的时候出现问题,在3.1手册中只有getFile单个文件上传的示例,没有多文件的,所以我不知道3.1后的多文件上传是怎么样的一个操作,文件上传虽然能够成功,但是会在该项目的首路径比如:D:下,没有上传到指定的文件下,而且也没有更改名称。以下是我写的代码,各位大神麻烦看下哪里出错了。
public void upload() {
// 可能有流
List<UploadFile> uploadFile = this.getFiles();
System.out.println(uploadFile);
//指定用户文件上传路径
String urlPath = PathKit.getWebRootPath() + "\\upload\\image\\";
File file = new File(urlPath);
//用于保存修改之后的的文件名称
String newName = "";
//判断文件流是否为空
if (uploadFile != null) {
//判断文件夹是否存在,如果不存在就创建文件夹
if (file.exists()) {
if (file.isDirectory()) {
System.out.println("目录以存在!");
} else {
System.out.println("同名文件存在,无法创建目录!");
}
} else {
if (file.mkdir()){
System.out.println("目录创建成功!");
} else {
System.out.println("目录创建失败!");
}
}
for (int i = 0; i < uploadFile.size(); i++) {
String picType = "." + uploadFile.get(i)
.getContentType()
.substring(uploadFile.get(i)
.getContentType()
.lastIndexOf("/") + 1);
file = uploadFile.get(i).getFile();
// 图片类型
newName = UUID.randomUUID() + picType;
File fileE = new File(urlPath + newName);
//创建成功后再重命名该文件
file.renameTo(fileE);
if (newName != null && !newName.equals("")) {
String reJson = "{\"status\":\"200\",\"message\":\"新增图片成功!\"}";
renderJson(reJson);
} else {
String reJson = "{\"status\":\"500\",\"message\":\"新增图片失败!\"}";
renderJson(reJson);
}
}
}
}
项目:JFinal
在本站首页可以下载到 jfinal-3.1-all.zip, 从 maven 库中也可以得到