Ändern von Datei-Größenbeschränkung (maxUploadSize) je nach controller

Ich habe eine Spring-MVC-web mit zwei verschiedenen Seiten, haben verschiedene Formulare laden Sie verschiedene Dateien. Einer von Ihnen soll eine Begrenzung von 2 MB, während die andere sollte eine 50 MB-Beschränkung.

Gerade jetzt, ich habe diese Einschränkung in meinem app-config.xml:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- one of the properties available; the maximum file size in bytes (2097152 B = 2 MB) -->
    <property name="maxUploadSize" value="2097152 "/>
</bean>

Und ich könnte zur Lösung der maxUploadSize Ausnahme in meinen Haupt-controller so:

@Override
public @ResponseBody
ModelAndView resolveException(HttpServletRequest arg0,
        HttpServletResponse arg1, Object arg2, Exception exception) {
    ModelAndView modelview = new ModelAndView();
        String errorMessage = "";
        if (exception instanceof MaxUploadSizeExceededException) {
            errorMessage =  String.format("El tamaño del fichero debe ser menor de  %s", UnitConverter.convertBytesToStringRepresentation(((MaxUploadSizeExceededException) exception)
                    .getMaxUploadSize()));

        } else {
            errorMessage = "Unexpected error: " + exception.getMessage();
        }
        saveError(arg0, errorMessage);
        modelview = new ModelAndView();
        modelview.setViewName("redirect:" + getRedirectUrl());
    }
    return modelview;
}

Aber das, natürlich, nur steuert das 2MB limit. Wie könnte ich die Beschränkung für die maximale Größe von 20 MB ein???
Ich habe versucht, diese Lösung: https://stackoverflow.com/a/11792952/1863783, welche updates die Begrenzung der Laufzeit. Aber dieses updates ist es, für jede Sitzung und jeden controller. Also, wenn ein Benutzer eine Datei hochladen, die für die erste form, die anderen mit dem hochladen in das zweite Formular haben sollten, die Beschränkung, die erste...

Hilfe? Dank

InformationsquelleAutor Goyo | 2013-05-16
Schreibe einen Kommentar