Vous pouvez définir la taille de fichier maximale lors du téléchargement de fichiers avec Spring Boot. Définissez les paramètres suivants dans application.propertes
spring.servlet.multipart.enabled=true
#Taille maximale d'un fichier
spring.servlet.multipart.max-file-size=10MB
#Taille maximale de tous les fichiers multiples
spring.servlet.multipart.max-request-size=50MB
Une erreur s'affiche si vous essayez de télécharger un fichier dont la taille est supérieure à la taille définie ici. Vous trouverez ci-dessous un exemple de personnalisation de cette gestion des erreurs.
@Component
public class ExceptionResolver implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception e) {
ModelAndView modelAndView = new ModelAndView();
if (e instanceof MultipartException && e.getCause() instanceof IllegalStateException && e.getCause().getCause() instanceof FileSizeLimitExceededException) {
//Les messages que vous souhaitez afficher, etc.
modelAndView.addObject("message", "Taille du fichier dépassée");
}
//Spécifiez l'écran vers lequel vous souhaitez effectuer la transition
modelAndView.setViewName("error");
return modelAndView;
}
}
@Bean
public TomcatServletWebServerFactory containerFactory() {
return new TomcatServletWebServerFactory() {
protected void customizeConnector(Connector connector) {
super.customizeConnector(connector);
if (connector.getProtocolHandler() instanceof AbstractHttp11Protocol) {
((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1);
}
}
};
}
Recommended Posts