MultipartException: demande en cours n'est pas un multipart demande

Je suis en train de faire une bonne contrôleur de téléchargement de fichiers. J'ai vu cette
et fait de ce contrôleur:

@RestController
public class MaterialController {

    @RequestMapping(value="/upload", method= RequestMethod.POST)
    public String handleFileUpload(
            @RequestParam("file") MultipartFile file){
        String name = "test11";
        if (!file.isEmpty()) {
            try {
                byte[] bytes = file.getBytes();
                BufferedOutputStream stream =
                        new BufferedOutputStream(new FileOutputStream(new File(name + "-uploaded")));
                stream.write(bytes);
                stream.close();
                return "You successfully uploaded " + name + " into " + name + "-uploaded !";
            } catch (Exception e) {
                return "You failed to upload " + name + " => " + e.getMessage();
            }
        } else {
            return "You failed to upload " + name + " because the file was empty.";
        }
    }
}

et ensuite, j'ai utilisé le facteur d'envoyer un pdf:

MultipartException: demande en cours n'est pas un multipart demande

Mais le serveur se bloque avec le message d'erreur:

.MultipartException: Current request is not a multipart request

Plus, j'ai constaté cette, et ajouté un bean.xml fichier

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    </bean>
</beans>

Malheureusement, il se plaint toujours avec la même erreur.

Ne sais pas si c'est la cause de votre problème, mais la capture d'écran montre que vous n'avez pas le nom de la . En fonction de vos handleFileUpload() méthode, vous avez besoin pour donner le nom/valeur de la clé de file. Sans un nom, il n'a probablement pas envoyer quoi que ce soit sur le serveur, et le "rien" = "pas plusieurs parties".
Non, vous ne devriez pas avoir besoin de faire un annuaire.
sans rapport avec: Depuis que vous avez annoté de la classe avec @RestController, vous n'avez pas besoin d'annoter méthode avec @ResponseBody. Voir la javadoc: docs.printemps.io/printemps/docs/actuel/javadoc de l'api/org/...

OriginalL'auteur Salman Lashkarara | 2017-02-02