package org.rcisoft.common.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID; /** * Created with family. * author: cy * Date: 16/6/28 * Time: 下午3:28 * description: 文件操作 */ @Slf4j @Controller public class FileController<T> extends PaginationController<T> { protected static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); protected static final String SEPARATOR; static { SEPARATOR = File.separator; } protected String globalCommonFileUpload(MultipartFile multipartFile, String savingPatternOrFullName, String savingAbsolutePath) { String finalSavingPath; String returnFinalFileName; label32: { String fileExtendsName = "." + getSuffix(multipartFile.getOriginalFilename()); finalSavingPath = ""; savingPatternOrFullName = savingPatternOrFullName.toUpperCase(); returnFinalFileName = ""; switch(savingPatternOrFullName.hashCode()) { case 2090926: if(savingPatternOrFullName.equals("DATE")) { returnFinalFileName = getCurrentDateTimeString() + fileExtendsName; finalSavingPath = savingAbsolutePath + SEPARATOR + getCurrentDateTimeString() + fileExtendsName; break label32; } break; case 2616251: if(savingPatternOrFullName.equals("UUID")) { returnFinalFileName = getUUIDString() + fileExtendsName; finalSavingPath = savingAbsolutePath + SEPARATOR + getUUIDString() + fileExtendsName; break label32; } } returnFinalFileName = savingPatternOrFullName; finalSavingPath = savingAbsolutePath + SEPARATOR + savingPatternOrFullName; } // File file = new File(finalSavingPath); // if(!file.mkdirs()) { // file.mkdirs(); // } // // try { // multipartFile.transferTo(file); // } catch (IllegalStateException var10) { // var10.printStackTrace(); // } catch (IOException var11) { // var11.printStackTrace(); // } // // return returnFinalFileName; //以下代码修改过 File file = new File(finalSavingPath); File fileDir = new File(savingAbsolutePath); if(!fileDir.exists()) { fileDir.mkdirs(); } try { file.deleteOnExit(); file.createNewFile(); multipartFile.transferTo(file); } catch (IllegalStateException var10) { var10.printStackTrace(); } catch (IOException var11) { var11.printStackTrace(); } //修改过 return finalSavingPath; } public static String getSuffix(String filename) { String suffix = ""; int pos = filename.lastIndexOf(46); if(pos > 0 && pos < filename.length() - 1) { suffix = filename.substring(pos + 1); } return suffix; } protected static String getUUIDString() { return UUID.randomUUID().toString().replaceAll("-", "").toUpperCase(); } protected static String getCurrentDateTimeString() { return simpleDateFormat.format(new Date()); } }