亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uploadrule.java

?? JAVA做的CMS源碼
?? JAVA
字號:
package com.jeecms.core.util;

import static com.jeecms.core.Constants.SPT;

import java.io.File;
import java.util.Calendar;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.ponyjava.common.util.StrUtils;

/**
 * 上傳規則定義類。
 * 
 * 在上傳之前將上傳規則對象保存在session中,之后編輯器或其他上傳對象將根據上傳規則上傳文件。
 * 
 * 編輯器瀏覽服務器的根路徑:rootPath。模板制作時需要指定根路徑,以便上傳圖片。
 * 
 * 定義上傳路徑
 * 
 * @author liufang
 * 
 */
public class UploadRule implements java.io.Serializable {
	private static final long serialVersionUID = 1L;
	private static final Logger log = LoggerFactory.getLogger(UploadRule.class);
	/**
	 * 在session中的key
	 */
	public static final String KEY = "_upload_rule";

	/**
	 * 構造器
	 * 
	 * @param rootPath
	 *            根路徑。瀏覽服務器的根路徑。上傳時可能需要再加上類別路徑
	 * @param pathPrefix
	 *            路徑前綴
	 * @param isGenName
	 *            是否創建隨機文件名
	 * @param hasType
	 *            是否區分文件類別。模板制作時不需要,其他情況下需要
	 * @param needClear
	 *            是否需要清除未使用的上傳文件
	 */
	public UploadRule(String rootPath, String pathPrefix, boolean isGenName,
			boolean hasType, boolean needClear) {
		this.rootPath = rootPath;
		this.pathPrefix = pathPrefix;
		this.isGenName = isGenName;
		this.hasType = hasType;
		this.needClear = needClear;
	}

	/**
	 * 構造器
	 * 
	 * @param rootPath
	 *            根路徑。瀏覽服務器的根路徑。上傳時可能需要再加上類別路徑
	 * @param isGenName
	 *            是否創建隨機文件名
	 * @param hasType
	 *            是否區分文件類別。模板制作時不需要,其他情況下需要
	 */

	public UploadRule(String rootPath, String pathPrefix, boolean isGenName,
			boolean hasType) {
		this(rootPath, pathPrefix, isGenName, hasType, true);
	}

	/**
	 * 構造器
	 * 
	 * @param rootPath
	 *            根路徑。瀏覽服務器的根路徑。上傳時可能需要再加上類別路徑
	 * @param isGenName
	 *            是否創建隨機文件名
	 */

	public UploadRule(String rootPath, String pathPrefix, boolean isGenName) {
		this(rootPath, pathPrefix, isGenName, true, true);
	}

	/**
	 * 構造器
	 * 
	 * @param rootPath
	 *            根路徑。瀏覽服務器的根路徑。上傳時可能需要再加上類別路徑
	 */

	public UploadRule(String rootPath, String pathPrefix) {
		this(rootPath, pathPrefix, true, true, true);
	}

	/**
	 * 獲得文件全名
	 * 
	 * 目錄前綴/年+季度/月+日/文件名.suffix
	 * 
	 * @return
	 */
	public String getPathName(String fileName, String suffix, String type) {
		StringBuilder sb = new StringBuilder(getPathPrefix()).append(type)
				.append(genFilePath());
		if (isGenName) {
			sb.append(genFileName());
		} else {
			sb.append(fileName);
		}
		sb.append('.').append(suffix);
		return sb.toString();
	}

	/**
	 * 按當前日期生產路徑:/2008_2/5_20/,/年_季/月_日/
	 * 
	 * @return
	 */
	public static String genFilePath() {
		StringBuilder sb = new StringBuilder();
		Calendar cal = Calendar.getInstance();
		sb.append(SPT).append(cal.get(Calendar.YEAR)).append('_').append(
				cal.get((Calendar.MONTH)) / 3 + 1).append(SPT).append(
				cal.get(Calendar.MONTH) + 1).append('_').append(
				cal.get(Calendar.DAY_OF_MONTH)).append(SPT);
		return sb.toString();
	}

	/**
	 * 獲得文件名
	 * 
	 * 4位隨機數加上當前時間
	 * 
	 * @return
	 */
	public static String genFileName() {
		String name = StrUtils.longToN36(System.currentTimeMillis());
		return RandomStringUtils.random(4, StrUtils.N36_CHARS) + name;
	}

	/**
	 * 獲得可圖片的后綴,如沒有指定,則使用默認的后綴集合。
	 * 
	 * @return
	 */
	public Set<String> getAcceptImg() {
		if (acceptImg == null) {
			acceptImg = new HashSet<String>();
			for (String s : DEF_IMG_ACCEPT) {
				acceptImg.add(s);
			}
		}
		return acceptImg;
	}

	public void addUploadFile(String origName, String fileName,
			String realPath, long size) {
		if (uploadFiles == null) {
			uploadFiles = new HashMap<String, UploadFile>();
		}
		uploadFiles.put(fileName, new UploadFile(origName, fileName, realPath,
				size));
	}

	public void removeUploadFile(String fileName) {
		if (uploadFiles != null) {
			uploadFiles.remove(fileName);
		}
	}

	public Map<String, UploadFile> getUploadFiles() {
		return uploadFiles;
	}

	public void clearUploadFile() {
		if (uploadFiles != null && needClear) {
			for (UploadFile uf : uploadFiles.values()) {
				File file = new File(uf.getRealPath());
				if (file.delete()) {
					log.debug("刪除未被使用的文件:{}", file.getName());
				} else {
					log.warn("刪除文件失敗:{}", file.getName());
				}
			}
			uploadFiles.clear();
		}
	}

	/**
	 * 已經上傳到圖片
	 */
	private Map<String, UploadFile> uploadFiles;

	/**
	 * 可以上傳的文件后綴
	 */
	private Set<String> acceptImg;
	/**
	 * 編輯器瀏覽服務器的根路徑,也是上傳的根路徑
	 */
	private String rootPath;

	private String pathPrefix;
	/**
	 * 是否生成文件名
	 */
	private boolean isGenName = true;
	/**
	 * 是否區分文件類型(用于編輯器瀏覽服務器時使用)
	 */
	private boolean hasType = true;
	/**
	 * 是否需要清理
	 */
	private boolean needClear = true;
	/**
	 * 是否允許瀏覽文件
	 */
	private boolean allowFileBrowsing = true;
	/**
	 * 是否允許上傳文件
	 */
	private boolean allowUpload = true;
	/**
	 * 允許上傳的大小。0不允許上傳,-1不受限制
	 */
	private int allowSize = -1;
	/**
	 * 已上傳大小
	 */
	private int uploadSize = 0;
	/**
	 * 默認的可上傳文件后綴
	 */
	public static final String[] DEF_IMG_ACCEPT = { "jpg", "gif", "jpeg",
			"png", "bmp", };

	public static void main(String[] args) {
		UploadRule rule = new UploadRule("", "", true);
		System.out.println(rule.getPathName("", "jpg", "img"));
	}

	public boolean isGenName() {
		return isGenName;
	}

	public void setGenName(boolean isGenName) {
		this.isGenName = isGenName;
	}

	public void setAcceptImg(Set<String> acceptImg) {
		this.acceptImg = acceptImg;
	}

	public String getRootPath() {
		return rootPath;
	}

	public void setRootPath(String rootPath) {
		this.rootPath = rootPath;
	}

	public boolean isHasType() {
		return hasType;
	}

	public void setHasType(boolean hasType) {
		this.hasType = hasType;
	}

	public boolean isNeedClear() {
		return needClear;
	}

	public void setNeedClear(boolean needClear) {
		this.needClear = needClear;
	}

	public static class UploadFile implements java.io.Serializable {
		private static final long serialVersionUID = 1L;

		public UploadFile() {
		}

		public UploadFile(String origName, String fileName, String realPath,
				long size) {
			this.origName = origName;
			this.fileName = fileName;
			this.realPath = realPath;
			this.size = size;
		}

		public String getRelPath(String pathRoot) {
			String real = getRealPath();
			real = StringUtils.replace(real, pathRoot, "");
			real = StringUtils.replace(real, File.separator, "/");
			return real;
		}

		private String origName;
		private String fileName;
		private String realPath;
		private long size;

		public String getOrigName() {
			return origName;
		}

		public void setOrigName(String origName) {
			this.origName = origName;
		}

		public String getFileName() {
			return fileName;
		}

		public void setFileName(String fileName) {
			this.fileName = fileName;
		}

		public String getRealPath() {
			return realPath;
		}

		public void setRealPath(String realPath) {
			this.realPath = realPath;
		}

		public long getSize() {
			return size;
		}

		public void setSize(long size) {
			this.size = size;
		}
	}

	public String getPathPrefix() {
		return pathPrefix;
	}

	public void setPathPrefix(String pathPrefix) {
		this.pathPrefix = pathPrefix;
	}

	public boolean isAllowFileBrowsing() {
		return allowFileBrowsing;
	}

	public void setAllowFileBrowsing(boolean allowFileBrowsing) {
		this.allowFileBrowsing = allowFileBrowsing;
	}

	public int getUploadSize() {
		return uploadSize;
	}

	public void setUploadSize(int uploadSize) {
		this.uploadSize = uploadSize;
	}

	public boolean isAllowUpload() {
		return allowUpload;
	}

	public void setAllowUpload(boolean allowUpload) {
		this.allowUpload = allowUpload;
	}

	public int getAllowSize() {
		return allowSize;
	}

	public void setAllowSize(int allowSize) {
		this.allowSize = allowSize;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香六月久久综合狠狠色| 国产精品996| 亚洲在线免费播放| 亚洲精品国产第一综合99久久 | 午夜精品福利一区二区三区av | 天堂影院一区二区| 亚洲成av人片一区二区梦乃| 亚洲r级在线视频| 亚洲成人中文在线| 日本午夜一本久久久综合| 久久电影网站中文字幕| 麻豆精品视频在线观看视频| 国产高清不卡二三区| 成人激情电影免费在线观看| caoporn国产精品| 欧美综合在线视频| 91精品欧美综合在线观看最新| 日韩免费性生活视频播放| 久久久久九九视频| 国产精品国产精品国产专区不蜜| 亚洲一线二线三线久久久| 日日夜夜免费精品| 粉嫩一区二区三区性色av| 欧美影院午夜播放| 精品国免费一区二区三区| 国产精品美女一区二区三区| 丝袜美腿成人在线| 粉嫩av一区二区三区| 欧美在线不卡视频| 久久色在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 青青青伊人色综合久久| 成人激情黄色小说| 51精品视频一区二区三区| 国产亚洲欧洲997久久综合| 中文字幕一区二区三区在线播放| 日韩激情在线观看| eeuss鲁一区二区三区| 欧美嫩在线观看| 亚洲色图欧美在线| 国产在线精品一区二区不卡了 | 精品播放一区二区| 亚洲精品高清视频在线观看| 国产精品538一区二区在线| 在线看不卡av| 国产精品无圣光一区二区| 日本伊人精品一区二区三区观看方式 | 性久久久久久久| 成人一区二区视频| 日韩一级成人av| 亚洲一区二区三区视频在线播放| 国产91丝袜在线播放0| 欧美变态凌虐bdsm| 日韩av一区二区在线影视| 91碰在线视频| 国产精品看片你懂得| 国产在线精品一区二区夜色 | 日韩精品久久久久久| 日本韩国欧美一区二区三区| 国产日产欧美精品一区二区三区| 蜜臀久久99精品久久久画质超高清 | 国产精品日日摸夜夜摸av| 麻豆国产欧美日韩综合精品二区 | 久久电影网电视剧免费观看| 欧美三级韩国三级日本一级| 亚洲精品国产高清久久伦理二区| 国产成人精品综合在线观看| 久久夜色精品国产噜噜av| 日本午夜一本久久久综合| 91精品福利在线一区二区三区| 亚洲国产综合91精品麻豆| 欧美亚洲高清一区| 亚洲一区二区三区中文字幕| 91精品福利视频| 一区二区三区在线高清| 欧美性色aⅴ视频一区日韩精品| 亚洲欧美色图小说| 91福利在线播放| 一区二区三区在线观看视频| 在线亚洲高清视频| 亚洲国产精品欧美一二99| 51精品久久久久久久蜜臀| 日韩av一区二| 久久久国产午夜精品| 高清不卡一二三区| 亚洲激情自拍偷拍| 欧美日本在线播放| 精品一区二区日韩| 国产午夜精品一区二区| av亚洲精华国产精华精| 亚洲超碰精品一区二区| 日韩一区二区三区电影在线观看| 精东粉嫩av免费一区二区三区| 精品乱人伦小说| 粉嫩欧美一区二区三区高清影视| 亚洲视频在线观看三级| 在线电影国产精品| 国产美女在线精品| 亚洲精品v日韩精品| 欧美成人性战久久| 不卡视频免费播放| 亚洲成人先锋电影| 国产日韩高清在线| 欧美色视频在线| 国产一区二区三区四区五区美女| 中文字幕一区免费在线观看| 欧美日韩一区二区三区视频| 国产乱码精品一区二区三区av | 色就色 综合激情| 蜜桃在线一区二区三区| 国产精品丝袜在线| 欧美日韩美少妇| av中文字幕不卡| 日本一不卡视频| 亚洲男女一区二区三区| 精品三级在线观看| 精品视频999| av一二三不卡影片| 国内国产精品久久| 三级久久三级久久| 亚洲美女屁股眼交| 国产日韩欧美亚洲| 日韩一区二区三区四区五区六区| 91视频国产观看| 国产成人欧美日韩在线电影 | 久久综合网色—综合色88| 欧美中文字幕一区二区三区 | 97久久精品人人做人人爽50路| 日韩国产成人精品| 亚洲综合免费观看高清完整版在线 | 丝袜脚交一区二区| 一区二区视频免费在线观看| 久久久一区二区| 精品美女在线播放| 欧美一区二区视频在线观看 | 婷婷丁香久久五月婷婷| 18欧美乱大交hd1984| 国产午夜一区二区三区| 欧美mv日韩mv国产网站app| 欧美日韩国产乱码电影| 色系网站成人免费| 91蜜桃视频在线| 99亚偷拍自图区亚洲| 99天天综合性| 99国产精品久久| 色欧美乱欧美15图片| 色综合久久久久网| 91国内精品野花午夜精品| 日本精品视频一区二区三区| 色婷婷综合久久久中文字幕| 91麻豆自制传媒国产之光| 北条麻妃国产九九精品视频| 成人免费毛片片v| 91香蕉视频污| 91国产精品成人| 欧美日韩成人在线| 欧美精品1区2区| 日韩精品专区在线| 久久精品视频一区| 亚洲国产精品t66y| 亚洲激情网站免费观看| 亚洲第一二三四区| 蜜桃视频在线观看一区二区| 国产一区二区三区高清播放| 不卡电影一区二区三区| 色狠狠色狠狠综合| 制服丝袜av成人在线看| 欧美精品一区二区三区蜜臀| 国产亚洲福利社区一区| 亚洲欧洲韩国日本视频| 亚洲成人综合在线| 美女脱光内衣内裤视频久久影院| 精品一区二区三区在线播放视频| 另类欧美日韩国产在线| 成人午夜在线播放| 日本精品一区二区三区四区的功能| 欧美精选午夜久久久乱码6080| 欧美电影免费观看高清完整版在| 久久嫩草精品久久久精品一| 日韩理论片在线| 热久久国产精品| 99精品桃花视频在线观看| 欧美性videosxxxxx| 日韩视频一区二区在线观看| 中文字幕中文在线不卡住| 婷婷综合在线观看| 成人一区在线观看| 538在线一区二区精品国产| 国产精品毛片a∨一区二区三区| 亚洲综合成人网| 国产精品1024| 日韩一级视频免费观看在线| 国产精品无遮挡| 水蜜桃久久夜色精品一区的特点| 国产成人av电影在线播放| 3751色影院一区二区三区| 亚洲欧洲日本在线| 国产精品一区三区| 7777女厕盗摄久久久| 亚洲欧美日本韩国|