Я читаю здесь, что в любом случае не следует сохранять файл на сервере, поскольку он не является переносимым, транзакционным и требует внешних параметров. Однако, учитывая, что мне нужно решение tmp для tomcat (7) и что у меня есть (относительный) контроль над машиной сервера, которую я хочу знать:
-
Какое место лучше всего сохранить? Должен ли я сохранить его в
/WEB-INF/uploads
(рекомендуется здесь) или где-то под$CATALINA_BASE
(см. здесь) или...? Учебник JavaEE 6 получает путь от пользователя (: wtf:). NB: Файл не должен быть загружен любыми средствами. -
Должен ли я настроить параметр конфигурации как подробный здесь? Я был бы признателен за некоторый код (я бы скорее дал ему относительный путь - так что это, по крайней мере, Tomcat portable) -
Part.write()
выглядит многообещающим - но, по-видимому, необходим абсолютный путь -
Мне было бы интересно разоблачить недостатки этого подхода в сравнении с репозиторием базы данных /JCR
К сожалению, FileServlet от @BalusC концентрируется на загрузке файлов, а отвечает при загрузке файлов пропускается часть, на которой следует сохранить файл.
Решение, легко конвертируемое для использования БД или реализации JCR (например, jackrabbit), было бы предпочтительнее.