11
votes

Impossible d'extraire l'image de la forme du ressort

Lors de la récupération de fichier de de formulaire de ressort je reçois null la valeur et si j'essaie ce code pour le reste des champs, je veux dire non Types d'entrée multipart SON FAIRE DE TRAVALE. Tout en débogage, je reçois null valeur de la ligne. Si j'essaie de chercher image à partir du dossier existant, je suis image sous WebApp et que l'URL est capable d'afficher l'image dans le navigateur, mais pas en mesure de lire la valeur de Fichiers à l'aide du navigateur et Désolé pour mon mauvais anglais

edit Si je commencez le code d'image, l'application fonctionne bien mais lorsque je présente le code de l'image, je reçois une erreur

Fichier multipartfile = domain.getimage (); // cela devient null

Ceci est un code pertinent contrôleur xxx

form.jsp xxx

Disternerservlet xxx

J'ai ajouté du code supplémentaire pour trouver si je reçois domaine comme null est venu pour être vrai. Et je n'ai aucune idée de la façon de résoudre ça.

Après avoir ajouté le fichier de contrôle, je reçois une erreur xxx

domain.java xxx

note toute réponse utile si elle a également été accueillie par une autre façon de travailler :)

Toute aide est apprécié, merci:)


16 commentaires

Pouvez-vous montrer votre classe de domaine


@kuhajeyan j'ai fait la modification


Pouvez-vous passer à la chaîne publique FormInutPost (@modelattribute («Domaine») Domaine de domaine, Résultat RelidingResult) {...} de la chaîne publique FormInutPost (@modelattribute ("Domaine") Domaine de domaine, httpServletQuest httpservletQuest) {..}


ok je vais essayer de les lier tous


@kuhajeyani j'ai lié tous les résultats, puis ajouté à mon formdatapost (..) contrôleur mais il passe toujours à la partie autre


Je ne sais pas quoi exactement ce qui ne va pas là, peut-être que vous pouvez essayer de changer le type de fichier en communMultipartfile


okey le problème principal que je reçois est que je suis capable de passer des noms, mais s'ils sont sans fichier multipart ils sont affichés dans Voir et après l'ajout de l'image, je viens de recevoir Seulement Statique Contenu comme `Nom Nom'scomminghere '


Et êtes-vous sûr que vous avez un jeu d'action?


Oui, il est défini sur la page d'accueil


La forme doit pointer quelque chose comme ceci, pas votre page d'accueil


sa nature ne fonctionne toujours pas


@kuhajeyan maintenant je redirige à la même page (i.e form.jsp ) pour afficher mais toujours rien à obtenir


Avez-vous ajouté la dépendance Apache Commons Filedupload et Apache Commons-io


Oui je l'ai....


Utilisez-vous le CSRF de printemps?


lol noo ..... j'ai tout posté ici


3 Réponses :


2
votes

Vous devez dire au printemps, comment résoudre le fichier multipart

ajouter ce haricot xxx

et aussi il semble que vous n'ayez pas mal mappé votre action sous la forme xxx


8 commentaires

Okey jusqu'à ce que je comprenne que cette action redirigea à un autre servlet à l'aide de la cartographie, mais ici là où elle est censée aller?


@kuhejeyan j'ai essayé votre méthode mais pouvez-vous me dire où rediriger cette forme?


@Helloworld Vous pouvez rediriger vers la même page si vous le souhaitez, mais je suppose que vous cherchez l'URL exacte de la forme pour poster, si oui, ce sera votre URL d'action pour la méthode FormInutpost


@kuhaheyan Le problème réel est que j'ai appliqué un NPE et sa affiche true s'il vous plaît vérifier ma mise à jour sur le code


J'ai appliqué NPE Vérifiez juste après le début de la méthode, résultant true


Pourquoi ajoutez-vous si (image == null) lancer une nouvelle nullpointerexception ("Impossible d'aller chercher" + fichier); Et qu'est-ce que 'image' ici?


juste pour vérifier si je reçois une image ou non


et quand j'ai appliqué sino ele à si (image! = null &&! image.isempty ()) s'est avéré qu'il ne se passe pas si le bloc



5
votes

Vous devriez faire tout ce que vous devriez faire tout ce que @kuhajeyen a dit et si l'image de l'objet de domaine n'a pas bien allée, vous pouvez essayer ce xxx

modifier: - modifier méthode attribut Code> Publier Dans le formulaire Sinon, il effectuera un obtenir la demande . xxx

et remplacez votre fichier de type d'entrée avec cette ligne, je pense qu'il existe des problèmes lorsque vous essayez de lier le fichier de type d'entrée avec un objet. xxx


6 commentaires

ouais mais @RequestParm (..) va chercher http demande et je ne suis même pas capable d'extraire des valeurs de formulaire


Vous manquez Methody = "Post" attribut à l'intérieur du formulaire, c'est pourquoi vous ne pouvez pas récupérer des valeurs à partir de la demande.


mais quand j'essaie la même méthode sans Post Je suis capable d'aller chercher le reste des paramètres


et il échoue lorsque j'ajoute multipart


Obtenir toujours des valeurs nulles


J'ai fait des modifications, s'il vous plaît vérifier peut-être qu'ils sont utiles



3
votes

Il y avait deux typos dans mon fichier de configuration comme ils sont

1) ici mappage était censé être comme cartographie = "Images / * * "

2) chemin de fichier = nouveau fichier (rootdirectory + "images \\\" + domain.getfirstname () + ".png"); Le chemin est censé être comme rootdirectory + " \\ images \\ "+ .... au lieu


0 commentaires