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就是获取的图片

1.获取图片                          

2.获取图片后缀名     

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

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

5.生成新文件完整路径

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

注意:

重命名是先读取原文件,然后将原文件的名字修改成新文件的名字,

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

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

file1.renameTo(file2);

转载于:https://my.oschina.net/u/3559695/blog/1556079

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值