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);

相關文章
相關標籤/搜索