public ResponseData<?> moveFileToProduct(FileDto fileDto) throws Exception { String serverPath = fileDto.getRootPath(); String savedDirectory = serverPath + fileDto.getFilePath(); String targetFileFullPath = savedDirectory + "/" + fileDto.getSavedName(); Integer userId = 1; // 추후 session에서 가지고 와야한다. String today = DateUtil.getToday(); String localDir = "/resource/" + userId + "/" + today; // 임시저장경로 String movePath = serverPath + localDir; // 파일 이동 경로 try { File targetFile = new File(targetFileFullPath); if (targetFile.exists() && !targetFile.isDirectory()) { Path targetFilePath = Paths.get(targetFileFullPath); Path newPath = Paths.get(movePath); File newPathDir = new File(movePath); if (!newPathDir.exists() || !newPathDir.isDirectory()) { newPathDir.mkdirs(); } Files.move(targetFilePath, newPath.resolve(targetFilePath.getFileName())); fileDto.setFilePath(localDir); // 이동한 파일경로 세팅 } else { log.debug("파일이 존재하지 않거나 폴더 경로 입니다."); } return ResponseData.createSuccessResult(fileDto); } catch (IOException e) { e.printStackTrace(); return ResponseData.createFailResult(fileDto); } }