RichFaces и JSF: куда компонент fileUpload загружает файлы? - PullRequest
2 голосов
/ 24 июня 2010

Я пытаюсь использовать этот пример компонента fileUpload для работы в моем собственном проекте.Однако всякий раз, когда я загружаю что-то, оно говорит, что оно загружается и успешно завершается, но я понятия не имею, где на сервере это происходит.Я использую функцию поиска Windows, чтобы найти имя файла только что загруженного файла, но он ничего не возвращает.

В соответствии с этой страницей файл должен храниться во временной папке.файл где-то, но сканирование всего сервера (снова с помощью программы поиска Windows) ничего не дает.Я использую Oracle WebLogic, если это поможет.

Как узнать, что происходит с загруженным файлом?

1 Ответ

6 голосов
/ 24 июня 2010

со связанной страницы:

FileUpload использует два параметра инициализации, которые должны быть определены в определении фильтра в web.xml:

  • createTempFiles логический атрибут, который определяет, хранятся ли загруженные файлы во временных файлах или доступны в прослушивателе, как данные byte[] (false для этого примера).

Итак, пример связанного кода сохраняет его в памяти сервера в виде byte[]. Вы должны записать его в файл самостоятельно , используя FileOutputStream. Если вы установите createTempFiles на true, то вы можете получить полноценный объект java.io.File с помощью org.richfaces.model.UploadItem#getFile(), который, в свою очередь, предоставляет методы для выявления фактического пути, например File#getAbsolutePath().

Я бы порекомендовал установить его на true в любом случае. Большие одновременные загрузки от нескольких пользователей могут вызвать OutOfMemoryException s в противном случае. Вы не хотите иметь это в производстве.

...