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 требуется загружать содержимое в память?Почему не может быть прямой потоковой передачи контента?Загрузка содержимого в память и чтение / запись на диск влечет за собой дополнительные расходы.Это будет особенно дорогостоящим при загрузке больших файлов.
Нет ли способа избежать загрузки содержимого файла, по крайней мере?
С наилучшими пожеланиями,
Саурав