在项目中将产品图片全部放置在一个文件夹下面的话,如果图片很多的话,加载速度会减慢,可以按照文件夹按年,月,日来分开存放,图片文件名字取系统时间long类型加上5位随机数字码避免重复。

Calendar calendar = Calendar.getInstance();
/**按年月日来分*/
int year = calendar.get(Calendar.YEAR);//得到年
int month = calendar.get(Calendar.MONTH)+1;//得到月,因为从0开始的,所以要加1
int day = calendar.get(Calendar.DAY_OF_MONTH);//得到天 String filename = String.valueOf(calendar.getTimeInMillis() + StrUtils.randomNumeric(5)); saveurl = Constants.ROOTPATH + url; String path1 = saveurl + year + "/" ;
String path2 = saveurl + year + "/" + month + "/" ;
String path3 = saveurl + year + "/" + month + "/" + day + "/" ; //建立按年月日文件夹,如果文件夹不存在,就建立新的文件夹。
FileOperate.newFolder(path1);
FileOperate.newFolder(path2);
FileOperate.newFolder(path3); String pic_url = filename + "." + ext; saveurl = path3; //新的目录
saveurl += pic_url; //保存路径
//saveurl += filename; myFile.saveAs(saveurl, SmartUpload.SAVE_PHYSICAL); /**保存到数据库中的图片地址*/
pic_url = year + "/" + month + "/" + day + "/" + pic_url; //新的图片url

文件夹操作类FileOperate.java

/**
* 新建目录
*
* @param folderPath
* String 如 c:/fqf
* @return boolean
*/
public static void newFolder(String folderPath) {
try {
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
if (!myFilePath.exists()) {
myFilePath.mkdir();
}
} catch (Exception e) {
// //ln("新建目录操作出错 ");
e.printStackTrace();
log.error(e.getMessage(), e.fillInStackTrace());
}
}

StrUtils类

public static String randomNumeric(int i) {
return RandomStringUtils.randomNumeric(i);
}

需要commons-lang-2.0.jar支持。

最新文章

  1. word20161216
  2. spring对dao层的支持(datasource的作用)
  3. Azure PowerShell 1.0.0以上版本在中国Azure使用的注意事项
  4. Cocos2d-x场景切换相关函数介绍
  5. yum服务器设置
  6. 使用C#通过Thrift访问HBase
  7. No bean named 'transactionManager' is defined
  8. 浏览我的php网页时,出现的都是网页的代码
  9. 无语的index hint:手工分配哈希区,5小时不出结果,优化后20分钟
  10. SEO策略与细节:细节决定成败
  11. eclipse 打包 jar 到 Linux上运行
  12. es6学习笔记--字符串&数值&数组&函数&对象的扩展
  13. [转帖]Ansible批量远程管理Windows主机(部署与配置)
  14. Knowledge From Practice(rf,fiddler)
  15. Fuck me 忘记改REDO 造成复制用户超级慢
  16. 20145215《网络对抗》Exp6 信息搜集与漏洞扫描
  17. pca , nmds , pcoa 图添加分组的椭圆
  18. arp欺骗图解
  19. hello world讲解1
  20. JS可以监控手机的返回键吗?

热门文章

  1. Entity Framework 6.1-Model First
  2. Swift标识符和关键字
  3. Json文件/网址解析
  4. 关于HTML与CSS编写规范
  5. 洛谷 P1890 gcd区间
  6. iOS开发基础之ivars(实例变量)与@property(属性)
  7. sed- 文本流编辑器
  8. SMB/CIFS协议解析一概述
  9. Skyline中使用AxTE3DWindowEx打开新的一个球体
  10. GDI+绘制文本