Outil d'envoi d'une demande en plusieurs parties / de données de formulaire [fermé]

606

J'utilise actuellement le module complémentaire Chrome Postman - Client REST pour créer facilement une demande POST / GET.

Maintenant, je veux déboguer un script de téléchargement et je cherche un moyen de faire des requêtes encodées en "multipart / form-data" afin de pouvoir envoyer également un fichier.

Valentin Despa
la source

Réponses:

1321

MISE À JOUR: J'ai créé une vidéo sur l'envoi de requêtes multipart / form-data pour mieux expliquer cela.


En fait, Postman peut le faire. Voici une capture d'écran

Version plus récente : Capture d'écran capturée à partir de l'extension chrome de postier entrez la description de l'image ici

Une autre version

entrez la description de l'image ici

Ancienne version

entrez la description de l'image ici

Assurez-vous de vérifier le commentaire de @maxkoryukov

Soyez prudent avec l'en-tête de type de contenu explicite. Mieux - ne définissez pas sa valeur, le facteur est assez intelligent pour remplir cet en-tête pour vous. MAIS, si vous voulez définir le Content-Type: multipart / form-data - n'oubliez pas le champ frontière .

Valentin Despa
la source
11
Les paramètres de données de formulaire de postman n'entrent parfois pas dans les méthodes REST de mon API Laravel. Pas certain de pourquoi.
Lotus
4
Erreur"There is no multipart/form-data content in request"
Jemshit Iskenderov
57
Soyez prudent avec un en- Content-Typetête explicite . Mieux - ne définissez pas sa valeur, le facteur est assez intelligent pour remplir cet en-tête pour vous. MAIS , si vous voulez régler le Content-Type: multipart/form-data- n'oubliez pas le champ boudary .
maxkoryukov
2
@maxkoryukov Merci pour vos commentaires. Mon API ne fonctionnait pas du tout lorsque j'essayais de télécharger des fichiers en plusieurs parties à l'aide du client Postman. Soudain, je suis tombé sur vos commentaires et cela m'a littéralement sauvé le cul :). Mais, pourriez-vous expliquer plus sur le boundaryterrain. Je sais que le facteur ajoute lui-même une limite. Comment dois-je procéder manuellement? :)
Adithya Upadhya
2
@oathkeeper, voici une assez bonne explication de la limite : stackoverflow.com/a/20321259/1115187 En deux mots: vous pouvez définir la limite manuellement et il y a quelques règles simples.
maxkoryukov
191

L'erreur habituelle est que l'on essaie de mettre Content-Type: {multipart/form-data}dans l'en-tête de la demande de publication. Cela échouera, il est préférable de laisser Postman le faire pour vous. Par exemple:

Suggestion de charger via Postman Partie du corps

Échoue si dans l'en-tête Erreur commune

Travaux devrait supprimer le type de contenu de l'en-tête

Hung Vu
la source
19
Un bon conseil pour laisser de côté l'en-tête "Content-Type"!
Peter
5
La suppression de Content-Type a résolu mon problème à l'exception: javax.servlet.ServletException: org.jvnet.mimepull.MIMEParsingException: limite de début manquante MERCI
Marcin Mikołajczyk
2
Ne pas supprimer l'en-tête par défaut entraînera toutes sortes de problèmes.
Vahid Amiri
1
Pour moi ça ne marche pas
OPV
1
@Hung enlever l'en-tête a résolu mon problème
Sachin Kumar