Когда именно файлы передаются на сервер? - PullRequest
0 голосов
/ 15 января 2019

Если у меня есть сервлет, который обрабатывает загрузку файлов, когда сервер на самом деле получает файлы?

Они уже доступны, когда я вызываю HttpServletRequest::getParts, или отдельные файлы будут выбраны, только когда я на самом деле вызову соответствующий Part::write?

По-разному спрашивается, является ли обязанностью моего сервлета реализовать параллельный поток всех файлов или мне просто нужно беспокоиться о записи их всех на диск?

1 Ответ

0 голосов
/ 15 января 2019

Они уже доступны, когда я вызываю HttpServletRequest::getParts

Да.

или отдельные файлы будут выбраны только тогда, когда я на самом деле вызову соответствующий Part::write?

Технически, файлы не выбираются. Сервер фактически не «загружает» файлы с клиента. Именно клиент отправляет файлы как часть тела запроса на сервер, и сервер должен просто прослушать эти файлы и записать их во временное хранилище, прежде чем вызывать метод обслуживания. Сервер будет вызывать метод сервиса только тогда, когда тело запроса будет полностью прочитано. Это не зависит от типа содержимого тела запроса. Отсюда и «да» по предыдущему вопросу.

По-разному спрашивается, является ли обязанностью моего сервлета реализовать параллельный поток всех файлов

Абсолютно нет. Вам вообще не нужно ничего синхронизировать на HttpServletRequest. Максимум только на HttpSession, но даже здесь это не играет роли.

или мне просто нужно беспокоиться о записи их всех на диск?

Да, именно так. Просто возьмите Part, подтвердите его и, наконец, напишите.

Смотри также:

...