Чтение содержимого MultiPart в сервлете Java - PullRequest
0 голосов
/ 02 января 2019

ServletRequest имеет API getParts () для чтения частей запроса из нескольких частей https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getParts()

Он имеет part.getInputStream, который можно использовать для чтения содержимого определенной части.

Чтобы это работало, сервлет должен быть аннотирован https://docs.oracle.com/javaee/6/api/javax/servlet/annotation/MultipartConfig.html

В MultiPartConfig есть элемент для определения местоположения, который, я думаю, записывает части на диск при необходимости.Это означает, что содержимое детали сначала загружается в память, а затем после достижения порогового значения содержимое детали записывается на диск

Почему API-интерфейсу getPart требуется загружать содержимое в память?Почему не может быть прямой потоковой передачи контента?Загрузка содержимого в память и чтение / запись на диск влечет за собой дополнительные расходы.Это будет особенно дорогостоящим при загрузке больших файлов.

Нет ли способа избежать загрузки содержимого файла, по крайней мере?

С наилучшими пожеланиями,

Саурав

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