Таким образом, мой проект состоит из рабочего процесса для каждого запроса, сгенерированного уникальным идентификатором запроса, например, создается FAF / 2020-21 / 0253, и папка с именем 0253 создается по указанному пути на сервере, а вложение сохраняется в формате, например (Сертификат ISAMEA print_Req_576_010720_111908.xlsx) .Поэтому проблема в том, что иногда вложение, сохраненное в одной папке, также добавляется в другую папку.
private void uploadAttachmentToDiskAttach (FinancialApprovalBean fab, String genetaredId, String strLogin role) {
`path on server where attachment is getting saved`
String rootPath = "/data/PamGreenSource/Documents/" + genetaredId;
FinancialAttachmentBean fabc = new FinancialAttachmentBean();
/*Documents document = new Documents();*/
if ( fab.getFab().size() > 0) {
for (int i=0;i<fab.getFab().size();i++) {
if (fab.getFab().get(i).getFiles() != null) {
String orgName = fab.getFab().get(i).getFiles().getOriginalFilename();
File theDir = new File(rootPath);
if (!theDir.exists()) {
boolean result = false;
try {
theDir.mkdirs();
result = true;
} catch (SecurityException se) {
}
if (result) {
}
}
String timestamp = new SimpleDateFormat("ddMMyy_Hmmss").format(new Date());
String fileNameWithOutExt = FilenameUtils.removeExtension(orgName);
if (fileNameWithOutExt != null && !fileNameWithOutExt.isEmpty()) {
fileNameWithOutExt = fileNameWithOutExt + "_" + role + "_" + strLoginUserId + "_" + timestamp;
String extension = FilenameUtils.getExtension(orgName);
fab.getFab().get(i).setAttach_id(fileNameWithOutExt+"."+extension);
String filePath = rootPath + "/" + fileNameWithOutExt + "." + extension;
File dest = new File(filePath);
try {
fab.getFab().get(i).getFiles().transferTo(dest);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
}**strong text**