У нас есть система управления контентом, которая позволяет нашим пользователям хранить файлы, загруженные через веб-службу REST. Перед помещением этих файлов в репозиторий их содержимое шифруется.
При извлечении этих файлов содержимое файла расшифровывается и помещается в массив байтов. Цель состоит в том, чтобы передать это содержимое обратно клиенту в виде вложенного файла, который он может хранить на своих локальных компьютерах.
Для этого я в настоящее время сохраняю содержимое во временный файл и передаю временный файл обратно в качестве вложения. Этот подход имел неприятный побочный эффект: ранее зашифрованный файл репозитория хранился «в открытом виде» во временном каталоге.
Я знаю, что могу настроить автоматическое удаление временного файла при завершении JVM, но, поскольку это сервер, между перезапусками сервера может пройти много времени.
Я также могу (я думаю) настроить какое-то задание прослушивателя, чтобы периодически проверять временный каталог и удалять файлы старше определенного возраста, но это кажется громоздким и на самом деле не решает проблему — это просто сокращает время воздействия.
Я ищу альтернативы, чтобы избежать временного файла, но все же разрешить пользователю загружать файл (желательно в память) в виде вложения через веб-службу.
Есть идеи?
Спасибо!