private File storeFile(String relativeDir, MultipartFile file) throws IOException { String saveFilename = Long.toString(new Date().getTime()); File saveDir = new File(makeFullPath(relativeDir)); File targetFile = new File(saveDir, saveFilename); while (targetFile.exists()) { saveFilename = Long.toString(Long.valueOf(saveFilename) + 1); targetFile = new File(saveDir, saveFilename); } if (LimsUtils.checkDirectory(saveDir, true)) { file.transferTo(targetFile); } else { throw new IOException("Cannot upload file - check that the directory specified in miso.properties exists and is writable"); } return targetFile; }