jfinal上传图片,生成日期文件夹,图片重命名

me.setBaseUploadPath("lipo");  //设置图片上传路径 这里能够去看源码 默认是upload
String fileName = uploadFile.getFileName();
String extentionName = fileName.substring(fileName.lastIndexOf(".")); // 后缀名  2 .jpg
String newPath = uploadFile.getUploadPath();     //文件路径  
String newName = System.currentTimeMillis() + extentionName;// 新名    3

Calendar date = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");

String name = format.format(date.getTime());
String newMkName = newPath+"/"+name;  //日期文件夹   
File file2 = new File(newMkName);
//生成日期文件夹    4
if(!file2.exists()) {
    file2.mkdir();
}

String filePath = newMkName  + "/" + newName;// 文件完整路径   5
File m = new File(uploadFile.getUploadPath()+"/"+uploadFile.getFileName());   6
File file=new File(filePath);   6
boolean flag;
if(file.exists()){
    throw new BizRuntimeException("不可上传重复的图片");
}

flag = m.renameTo(file); // 重命名并上传文件    6
Map<String,String> map = new HashMap<>();
if(flag){
    map.put("fileName",newName);
    map.put("fileUrl", PropKit.get("project")+"/lipo/"+name+"/"+newName);
    return map;
}else{
    return null;
}

uploadFile就是获取的图片orm

1.获取图片                          图片

2.获取图片后缀名     ip

3.根据时间戳获取新名字    get

4.获取文件路径,生成新日期文件夹源码

5.生成新文件完整路径string

6.根据路径获取原文件file,获取新文件file,重命名it

注意:io

重命名是先读取原文件,而后将原文件的名字修改为新文件的名字,图片上传

File file1 = new File("c:/lipo/1.jpg");ast

File file2 = new File("c:/lipo/20171025/1508915766989.jpg");

file1.renameTo(file2);

相关文章
相关标签/搜索