zoukankan      html  css  js  c++  java
  • 项目图片上传存储的目录部分代码思路Calendar类获取年月日

    在项目中将产品图片全部放置在一个文件夹下面的话,如果图片很多的话,加载速度会减慢,可以按照文件夹按年,月,日来分开存放,图片文件名字取系统时间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支持。

  • 相关阅读:
    debian的xfce内多余的菜单位置
    cocos2dx学习笔记之图片分辨率适配
    cocos2dx学习笔记之辅助工具
    cocos2dx游戏开发必备工具之PhysicsEditor【ZT】
    cocos2dx学习笔记之粒子效果
    mac下直接下载xcode的地址
    无需花生壳,dnspod实现ddns
    android和view相关的东西
    android的一些经典三方库
    简单工厂模式扩展工厂方法模式
  • 原文地址:https://www.cnblogs.com/simpledev/p/3512648.html
Copyright © 2011-2022 走看看