예제 #1
0
  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);
    }
  }