public class FileUtils {
private final static Logger logger = LoggerFactory.getLogger(FileUtils.class);
// 保存附件并返回URL
public static String saveadditionFile(MultipartFile additionalFile, String uploadDir, String filesUrl)
throws IOException {
// 初始化StringBuffer用来保存 附件的URL
StringBuffer stringBuffer = new StringBuffer();
if (additionalFile != null) {
String fileName = additionalFile.getOriginalFilename();// 获取文件名(包括后缀)
String newFileName = UUID.randomUUID().toString().replace("-", "")
+ fileName.substring(fileName.lastIndexOf("."));
// 设置yyyyMM/dd文件夹
Calendar c = Calendar.getInstance();
c.setTime(new Date());
String m = DateTimeUtil.dateToString(new Date(), "yyyyMM");
int day = c.get(Calendar.DAY_OF_MONTH);
String fileDir = uploadDir + File.separator + m + File.separator + day;
File dir = new File(fileDir);
if (!dir.exists()) {
dir.mkdirs();
}
String url = filesUrl + "/" + m + "/" + day + "/" + newFileName;
logger.info("url:" + url);
FileOutputStream fos = null;
try {
fos = new FileOutputStream(dir.getAbsolutePath() + File.separator + newFileName);
logger.info("filePath:" + dir.getAbsolutePath() + File.separator + newFileName);
fos.write(additionalFile.getBytes());
fos.close();
stringBuffer.append(url);
} catch (FileNotFoundException e) {
logger.error("文件错误", e);
throw e;
} catch (IOException e) {
logger.error("IO异常", e);
throw e;
}
}
return stringBuffer.toString();
}
}
09-29