項目圖片上傳存儲的目錄部分代碼思路Calendar類獲取年月日

在項目中將產品圖片所有放置在一個文件夾下面的話,若是圖片不少的話,加載速度會減慢,能夠按照文件夾按年,月,日來分開存放,圖片文件名字取系統時間long類型加上5位隨機數字碼避免重複。java

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類dom

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

須要commons-lang-2.0.jar支持。url

相關文章
相關標籤/搜索