package kr.co.i4way.common.util; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; @Component("fileUtils") public class FileUtils { private static final String filePath = "C:\\dev\\file\\"; public List> parseInsertFileInfo(Map map, HttpServletRequest request) throws Exception{ MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest)request; Iterator iterator = multipartHttpServletRequest.getFileNames(); MultipartFile multipartFile = null; String originalFileName = null; String originalFileExtension = null; String storedFileName = null; List> list = new ArrayList>(); Map listMap = null; String boardIdx = (String)map.get("IDX"); File file = new File(filePath); if(file.exists() == false){ file.mkdirs(); } while(iterator.hasNext()){ multipartFile = multipartHttpServletRequest.getFile(iterator.next()); if(multipartFile.isEmpty() == false){ originalFileName = multipartFile.getOriginalFilename(); originalFileExtension = originalFileName.substring(originalFileName.lastIndexOf(".")); storedFileName = CommonUtils.getRandomString() + originalFileExtension; file = new File(filePath + storedFileName); multipartFile.transferTo(file); listMap = new HashMap(); listMap.put("BOARD_IDX", boardIdx); listMap.put("ORIGINAL_FILE_NAME", originalFileName); listMap.put("STORED_FILE_NAME", storedFileName); listMap.put("FILE_SIZE", multipartFile.getSize()); list.add(listMap); } } return list; } public List> parseUpdateFileInfo(Map map, HttpServletRequest request) throws Exception{ MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest)request; Iterator iterator = multipartHttpServletRequest.getFileNames(); MultipartFile multipartFile = null; String originalFileName = null; String originalFileExtension = null; String storedFileName = null; List> list = new ArrayList>(); Map listMap = null; String boardIdx = (String)map.get("IDX"); String requestName = null; String idx = null; while(iterator.hasNext()){ multipartFile = multipartHttpServletRequest.getFile(iterator.next()); if(multipartFile.isEmpty() == false){ originalFileName = multipartFile.getOriginalFilename(); originalFileExtension = originalFileName.substring(originalFileName.lastIndexOf(".")); storedFileName = CommonUtils.getRandomString() + originalFileExtension; multipartFile.transferTo(new File(filePath + storedFileName)); listMap = new HashMap(); listMap.put("IS_NEW", "Y"); listMap.put("BOARD_IDX", boardIdx); listMap.put("ORIGINAL_FILE_NAME", originalFileName); listMap.put("STORED_FILE_NAME", storedFileName); listMap.put("FILE_SIZE", multipartFile.getSize()); list.add(listMap); } else{ requestName = multipartFile.getName(); idx = "IDX_"+requestName.substring(requestName.indexOf("_")+1); if(map.containsKey(idx) == true && map.get(idx) != null){ listMap = new HashMap(); listMap.put("IS_NEW", "N"); listMap.put("FILE_IDX", map.get(idx)); list.add(listMap); } } } return list; } }