Как постоянно хранить документы пользователя на сервере? - PullRequest
0 голосов
/ 16 ноября 2011

Мне нужно хранить профили пользователей в моем приложении на стороне сервера. Я храню это в файловой системе через JSF (с Primefaces). Однако документы в настоящее время хранятся в папке tmp, но удаляются после каждого перезапуска сервера.

Как хранить документы, которые необходимо хранить постоянно?


Я указывал путь к каталогу через web.xml следующим образом: Мне просто нужно изменить путь к постоянному расположению на сервере?

(я использую компонент Primefaces uploadFile для облегчения этой загрузки)

<filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>
        org.primefaces.webapp.filter.FileUploadFilter
    </filter-class>
    <init-param>
        <param-name>thresholdSize</param-name>
        <param-value>51200</param-value>
    </init-param>
    <init-param>
        <param-name>uploadDirectory</param-name>
        <param-value>/tmp</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

1 Ответ

1 голос
/ 16 ноября 2011

Храните его в постоянном месте, а не во временном.Укажите абсолютный путь файловой системы диска к подготовленной папке с достаточными правами чтения / записи для Java.При необходимости вы можете настроить путь как системное свойство или файл свойств.Например, как системное свойство (которое вы указываете в качестве аргумента VM):

-Dfiles.location=/path/to/files

Затем вы можете найти файл следующим образом:

File file = new File(System.getProperty("files.location"), filename);
// ...

В качестве альтернативы, вы можете сохранить его в БД,но хранение двоичных данных в БД часто не одобряется, так как они не индексируются / не могут быть найдены для поиска / ссылки и, следовательно, исключают единственную цель хранения в БД.

См. также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...