Spring MVC fichier télécharger - pas en mesure de traiter les parties comme pas de multi-partie de la configuration a été fourni

Donc je suis un débutant de Printemps et j'essaye de l'upload d'un fichier de travail pour mon projet (je suis en utilisant Spring Tool Suite btw.) et lors de la soumission d'un formulaire tout ce que je reçois est:

D'État HTTP 500 - n'a pas Pu analyser multipart servlet demande; nested exception java.lang.IllegalStateException: Impossible de traiter les parties comme pas de multi-partie de la configuration a été fourni

Trace de la pile à partir du navigateur:

type de rapport d'Exception 

le message n'a pas Pu analyser multipart servlet demande; nested exception java.lang.IllegalStateException: Impossible de traiter les parties comme pas de multi-partie de la configuration a été fourni 

description Le serveur a rencontré une erreur interne qui l'a empêché de satisfaire la requête. 

exception 

org.springframework.web.multipart.MultipartException: n'a pas Pu analyser multipart servlet demande; nested exception java.lang.IllegalStateException: Impossible de traiter les parties comme pas de multi-partie de la configuration a été fourni 
org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:100) 
org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.(StandardMultipartHttpServletRequest.java:78) 
org.springframework.web.multipart.support.StandardServletMultipartResolver.resolveMultipart(StandardServletMultipartResolver.java:75) 
org.springframework.web.multipart.de soutien.MultipartFilter.doFilterInternal(MultipartFilter.java:108) 
org.springframework.web.le filtre.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106) 
cause 

java.lang.IllegalStateException: Impossible de traiter les parties comme pas de multi-partie de la configuration a été fourni 
org.apache.catalina.connecteur.Demande.parseParts(Requête.java:2676) 
org.apache.catalina.connecteur.Demande.getParts(Requête.java:2643) 
org.apache.catalina.connecteur.RequestFacade.getParts(RequestFacade.java:1083) 
org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:85) 
org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.(StandardMultipartHttpServletRequest.java:78) 
org.springframework.web.multipart.support.StandardServletMultipartResolver.resolveMultipart(StandardServletMultipartResolver.java:75) 
org.springframework.web.multipart.de soutien.MultipartFilter.doFilterInternal(MultipartFilter.java:108) 
org.springframework.web.le filtre.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106) 

remarque Le plein de trace de pile de la cause racine est disponible dans Apache Tomcat/8.0.27 journaux. 

C'est la balise de formulaire en jsp:

<form:form class="form-horizontal" role="form" method="post"
            action="newArtist.html" modelAttribute="artist" enctype="multipart/form-data">

D'entrée de la partie:

<div class="form-group">
    <div class="col-lg-3">
        <label for="photo">Artist photo:</label>
        <form:input type="file" id="photo" path="photo"></form:input>
    </div>
</div>

Photo est stockée dans ce champ de l'Artiste objet:

@Lob
private byte[] photo;

Contrôleur de méthodes de cartographie:

@RequestMapping(value = "/newArtist", method = RequestMethod.GET)
public String showAddArtistForm(Model model)
{
    model.addAttribute("artist", new Artist());
    return "newArtist";
}

@RequestMapping(value = "/newArtist", method = RequestMethod.POST)
public String addArtist(@ModelAttribute("artist") @Valid Artist artist, BindingResult result,
        @RequestParam("photo") MultipartFile photo) throws IOException
{   
    if (result.hasErrors())
        return "newArtist";

    if(photo.getBytes() != null)
        artist.setPhoto(photo.getBytes());

    artistService.addArtist(artist);

    return "redirect:artists.html";
}

Multipart résolveur de configuration dans servlet-context.xml:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="10000000"/>
</bean>

Filtres web.xml:

<filter>
    <filter-name>MultipartFilter</filter-name>
    <filter-class>org.springframework.web.multipart.support.MultipartFilter</filter-class>
</filter>
<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>MultipartFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Dépendances:

<!-- Apache Commons FileUpload -->
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.1</version>
    </dependency>

    <!-- Apache Commons IO -->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>

J'ai aussi importé de fichier de configuration de Tomcat context.xml pour META-INF/context.xml et édité Contexte de la balise comme ceci:

<Context allowCasualMultipartParsing="true">

Rien ne semble fonctionner, toute aide sera grandement appréciée.

OriginalL'auteur kbijoch | 2016-06-20