FileUploadUtil.java 2.78 KB
package com.bjivt.util;

import java.io.File;
import java.io.IOException;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

public class FileUploadUtil {
	/**
	 * @Title: FileUploadUtil.java
	 * @Package com.enla.util
	 * @Description: 上传公共
	 * @author JASON
	 * @date 2015-7-17
	 * @param filePath
	 *            文件上传路径 (/uploadimgfile/xxx)
	 * @param multipartFile
	 */

	public static String fileUpload(MultipartFile multipartFile, String filePath, HttpServletRequest request)
			throws Exception {
		/** 得到图片保存目录的真实路径 **/
		String logoRealPathDir = request.getSession().getServletContext().getRealPath(filePath);
		/** 根据真实路径创建目录 **/
		File file = new File(logoRealPathDir);
		if (!file.exists())
			file.mkdirs();
		/** 获取文件的后缀 **/
		String suffix = multipartFile.getOriginalFilename();
		if (StringUtils.isNotBlank(suffix)) {
			suffix = suffix.substring(multipartFile.getOriginalFilename().lastIndexOf("."));
			/** 生成文件名称 **/
			String code = CodeCreator.generateCharArr(12);
			String fileName = code + suffix;

			/** 拼成完整的文件保存路径加文件 **/
			String fileSavePath = logoRealPathDir + File.separator + fileName;// 上传文件完整路径
			String fileDbPath = filePath + "/" + fileName; // 保存到数据库的相对路径
			File targetFile = new File(fileSavePath);

			try {
				multipartFile.transferTo(targetFile);
			} catch (IllegalStateException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
			return fileSavePath+";"+fileDbPath;
		}
		return "";
	}
	/**
	public static String fileUpload(MultipartFile multipartFile, String filePath, HttpServletRequest request)
			throws Exception {
		
		String logoRealPathDir = request.getSession().getServletContext().getRealPath(filePath);
		
		File file = new File(logoRealPathDir);
		if (!file.exists())
			file.mkdirs();
		
		String suffix = multipartFile.getOriginalFilename();
		if (StringUtils.isNotBlank(suffix)) {
			suffix = suffix.substring(multipartFile.getOriginalFilename().lastIndexOf("."));
			
			String code = CodeCreator.generateCharArr(12);
			String fileName = code + suffix;

			
			String fileSavePath = logoRealPathDir + File.separator + fileName;// 上传文件完整路径
			String fileDbPath = filePath + "/" + fileName; // 保存到数据库的相对路径
			File targetFile = new File(fileSavePath);

			try {
				multipartFile.transferTo(targetFile);
			} catch (IllegalStateException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
			return fileDbPath;
		}
		return "";
	}
**/
}