7
votes

Obtention de l'état HTTP 400 - Le paramètre MultiPartfile requis 'Fichier' n'est pas présent au printemps

J'essaie de télécharger un fichier en utilisant print code>. Ci-dessous mon code comment je travaille sur elle Mais si j'essaie de l'utiliser, je reçois cette réponse : code>:

Statut HTTP 400 - Le paramètre MultiPartFile requis 'Fichier' n'est pas présent P>

Je ne reçois pas ce que l'erreur est . P>

J'utilise le client de repos avancé pour tester et je télécharge le fichier en tant que pièce jointe. P>

My Javacode: P>

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


13 commentaires

Pouvez-vous partager votre demande?


localhost: 8080 / upload "> Fichier pour télécharger:

Appuyez sur ICI pour télécharger le fichier!


Juste un essai. Ajouter class = "fichier" à l'entrée.


Avez-vous dans votre contexte.xml?


non quelle est l'utilisation de cela et où dois-je le garder


SES POUR DONNER LE SUPPORT D'UTILISATION D'UTILISATION DE LA BIBLIOTHÈQUE DES COMMONS-UPLOAD pour gérer le formulaire de téléchargement de fichier. Devrait être dans votre fichier de contexte d'application comme déclaration de haricot.


Dans le servlet Dispatcher? dans mon cas


Montrez votre JSP où vous envoyez cette demande et votre configuration où vous avez déclaré le haricot.


Je n'ai pas déclaré le haricot


Le ressort a besoin de ce haricot pour les téléchargements de fichiers


Je reçois le type de média 415 non pris en charge maintenant


Supprimer votre Headers = "Type de contenu = MultiPart / Form-Data" Informations de votre contrôleur et réessayez. Et peut-être supprimer votre @Responsebody Annotation.


Il a fonctionné si j'utilise ENCTYPE = "Multipart / Form-Data"


3 Réponses :


2
votes

Lorsque vous sélectionnez le fichier à l'avance du client de repos, sur le côté droit il y a une boîte d'entrée , écrivez dans ce nom de boîte d'entrée du paramètre < / strong>, dans votre nom de référence du paramètre est fichier

Nom du paramètre défini ici dans le contrôleur @RequestParam ("Fichier")

 Entrez la description de l'image ici


3 commentaires

ouais je me sers de cette façon


Veuillez joindre votre capture d'écran


Avez-vous un identifiant de haricot en utilisant pour ce cas il résolu dans mon cas si j'utilise un identifiant de haricot



7
votes

ressort nécessite le

haricot à manipuler téléchargements de fichiers.

Vous devez enregistrer ce haricot dans votre contexte d'application fichier.

Le type de contenu doit également être valide. Dans votre cas EnCTYpe = "Multipart / Form-Data"

Edit1:

Vous pouvez donner la taille de la mémoire et de la mémoire aux propriétés de haricot: xxx


6 commentaires

puis-je changer le type de contenu à autre chose


Cela dépend de votre type de contenu que vous ou le client souhaite envoyer et le serveur recevoir. Je pense que cela devrait également fonctionner avec «Application / Json ».


Quelle est la taille maximale du fichier à télécharger


N'avons-nous pas besoin de déclaration de filtres à multipart dans le fichier 'web.xml', liek ceci: multipartesolver org.springframework.web.multipart.support.mult IPartFilter MultipArtresolver / *


D'abord, il ne semble pas fonctionner, mais quand je redémarre le serveur, cela a fonctionné. Je vous remercie :)


C'est la façon de la configurer comme java haricot - Stackoverflow.com/Questtions/26118099/...



0
votes

Cela fonctionne pour moi après avoir écrit dans cette boîte de saisie Nom du paramètre "Fichier" lorsque j'ai déjà bien configuré l'ID de haricot dans l'exemple de fichier d'entrée de krajee bootstrap (" https://github.com/kartik-v/bootstrap-fileinput ").


0 commentaires