#java #resize #size #multipart
Вопрос:
У меня есть внутренний API, который предполагает загрузку составного файла, но когда размер файла превышает ограничение, он показывает ошибку 500, как это :
message:Servlet.service() for servlet [dispatcherServlet] in context with path [/marketplace] threw exception [Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (10510555) exceeds the configured maximum (10485760)] with root cause org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (10510555) exceeds the configured maximum (10485760)
итак, текущее решение меняет мое приложение.yml для настройки нескольких частей на что-то вроде этого :
http: multipart: max-file-size: -1 max-request-size: -1
И это отлично работает, но , оказывается, мне не разрешено изменять это приложение.yml Другим моим решением было изменить проверку размера и размер файла интерфейса, но оказалось, что я также разрешил изменять только серверную часть.
Вопрос : Есть ли какой-либо другой способ изменить размер составного запроса до того, как он попадет в приложение ?
Комментарии:
1. но, оказывается, мне не разрешается изменять это приложение.yml — что это значит?
2. это групповой проект, я не могу изменить приложение. yml, несмотря ни на что
Ответ №1:
Нашел решение, мне не нужно менять свое приложение.yml
Я добавил эту строку кода в свой app.java
@Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setMaxFileSize(50000000); factory.setMaxRequestSize(50000000); return factory.createMultipartConfig(); }
И это отлично работает, вы можете отредактировать размер файла. Надеюсь, это поможет кому-нибудь еще, у кого такая же проблема