Я использую Spring Boot 2.1.4. Выпуск, Primefaces 6.2, Java 11.
Я использую компонент загрузки файлов Primefaces, где режим загрузки установлен на commons
.
При работе в тестовой среде при загрузке файла размером более 10 МБ обратный прокси-сервер nginx возвращает 413 Request Entity Too Large
.Это связано с конфигурацией nginx client_max_body_size=10MB
, которую мы хотим сохранить.Вместо изменения конфигурации, использование потоковой передачи для загрузки файла должно решить нашу проблему.Однако до сих пор я не мог заставить потоковую работу работать так, чтобы мы не получили этот ответ 413. Вот код:
Часть application.properties
относительно загрузки файла
spring.servlet.multipart.enabled=false
joinfaces.primefaces.uploader=commons
IЯ использую компонент p: fileupload Primefaces
<h:form id="documentUploadForm" enctype="multipart/form-data">
<p:fileUpload id="fileUpload" widgetVar="fileUploadButton"
binding="#{uploadedDoc}" mode="advanced" auto="true"
fileUploadListener="#{projectController.documentController.fileUploadHandler}"
value="#{projectController.documentController.file}"
sizeLimit="2147483648" label="#{msg['file.choose']}"
onstart="if(#{!projectController.managed}) {disableUploadButton()}"
oncomplete="if(#{!projectController.managed}) {enableSubmitButton()}"
disabled="#{projectController.documentController.hasDocument}"
required="true"
update="fileSelectionPanel">
</p:fileUpload>
</h:form>
На локальном хосте код успешно входит в FileUploadFilter, MiltipartRequest.Запрос анализируется в fileItems.Входит в CommonsFileUploadDecoder и успешно вызывает fileUploadHandler(FileUploadEvent event)
.Однако в тестовой среде ответ 413 возвращается куда-то перед вводом fileUploadHandler(FileUploadEvent event)
.
Буду очень признателен за совет.Заранее спасибо!Я могу предоставить вам любые детали.