Получить корректный путь к файлу из FileDescriptor

Для рассылки электронной почты необходимо в setTemplatePath прикреплять файл шаблона письма.

Шаблон лежит в FileDescriptor.
получаю путь до шаблона так:
((File) fileStorage.getStorageDir(storageRoots[0], file.getTemplate())).listFiles()[0].getAbsoluteFile().getAbsoluteFile().getPath()

вставляю путь до файла в шаблон письма
получаю ошибку
IllegalArgumentException: The resource path [/WEB-INF/classes/…/…/…/deploy/app_home/sendmailnewuser-core/work/filestorage/2021/05/31/36c2328d-0c99-7764-221b-cb9d003c1c3d.txt] has been normalized to [null] which is not valid

или

Could not find template by path: D:/project/2021/lms/lmsemailnewuser/deploy/app_home/sendmailnewuser-core/work/filestorage/2021/05/31/36c2328d-0c99-7764-221b-cb9d003c1c3d.txt

как получить корректный путь к файлу для прикрепления к почтовому сообщению?

А где такой метод setTemplatePath находится?

https://doc.cuba-platform.com/manual-7.2-ru/sending_emails_recipe.html

Платформа не позволяет получить путь к файлу по FileDescriptor

В данном случае попробуйте следующий подход (формировать body заранее):

FileStorageAPI fileStorageAPI = AppBeans.get(FileStorageAPI.class)
        String body = TemplateHelper.processTemplate(new String(fileStorageAPI.loadFile(fileDescriptor), Charset.defaultCharset()), templateParams);
        EmailInfo emailInfo = EmailInfoBuilder.create()
                .setAddresses(addresses)
                .setCaption(caption)
                .setBody(body)
                .setAttachments(attachments)
                .build();
1 симпатия