Есть ли способ загрузить файл с помощью сервлета, который позволяет пропустить сохранение во временную папку? - PullRequest
2 голосов
/ 22 марта 2010

Размещение этого для друга. У них есть приложение Icefaces, которое использует функцию входного файла Icefaces, но пытается загрузить файл во временный каталог, прежде чем разрешит к нему доступ. Короче говоря, нет доступа к временному местоположению, поэтому копирование файла (которое в конечном итоге окажется в базе данных) невозможно. Можно ли использовать вместо этого сервлет Java для загрузки файла и потоковой передачи содержимого туда, где они имеют доступ, без предварительного сохранения файла во временном местоположении?

Ответы [ 2 ]

3 голосов
/ 22 марта 2010

Да, это абсолютно возможно.Метод doPost() сервлета может делать со входом все, что захочет, и предназначен для его потоковой обработки.Однако с пустым сервлетом вам придется анализировать тело запроса вручную.К счастью, Apache Commons FileUpload может сделать это за вас.

0 голосов
/ 04 мая 2010

Так как он был помечен как iceFaces, я предполагаю, что это то, что ваш друг использует в разработке этогоЕсли это так, вы можете использовать компонент inputFile.

Вот учебник о том, как это сделать.Вы также можете указать абсолютный путь.Он в основном использует Commons File Upload под капотом.

...