У меня есть вид, из которого пользователь может сначала создать PDF-файл в зависимости от некоторых параметров, а затем загрузить и / или отправить его по почте.
Теперь метод генерации PDF-файла возвращает InputStream
, который я затем сохраняю как поле класса, например:
public class PDFWindow extends VerticalLayout {
...
private InputStream pdfInputStream;
...
private void createPDF() {
this.pdfInputStream = pdfCreator.createPDF();
}
Моя проблема в том, что pdfInputStream
закрывается после его использования FileDownloader
:
Button download = new Button("Download");
final FileDownloader fileDownloader = new FileDownloader(
new StreamResource(() -> this.pdfInputStream, this.pdfFileName));
fileDownloader.extend(download);
или SpringEmailService
, который я написал:
SpringEmailService.send(
"test@mail.com", recipients, this.subject.getValue(),
this.message.getValue(),this.pdfInputStream,"test.pdf", "application/pdf");
Есть ли способ остановить закрытие InputStream
и затем закрыть его вручную, или я должен искать совершенно другой путь?