Enctype : Spécifie le type de codage utilisé par le navigateur lors du renvoi des données au serveur. Utilisé pour télécharger des images dans des formulaires.
Il existe trois types d'encodage :
application/x-www-form-urlencoded : Encodez tous les caractères avant l'envoi (par défaut). Il s'agit d'un format d'encodage standard.
multipart/form-data : N'encode pas les caractères. Cette valeur doit être utilisée lors de l'utilisation d'un formulaire contenant un contrôle de téléchargement de fichier.
text/plain : les données du formulaire sont codées sous forme de texte brut sans aucun contrôle ni caractère de formatage.
Exemple :
"sous la forme multipart/form-data" signifie définir le codage MIME du formulaire. Par défaut, ce format d'encodage est application/x-www-form-urlencoded, qui ne peut pas être utilisé pour le téléchargement de fichiers uniquement lorsque multipart/form-data est utilisé, les données du fichier peuvent être entièrement transférées ;
enctype="multipart/form-data" consiste à télécharger des données binaires.
Si vous souhaitez obtenir la valeur du champ de formulaire correspondant via l'objet Request côté serveur, vous devez définir l'attribut enctype sur la valeur application/x-www-form-urlencoded (c'est-à-dire le valeur par défaut, le paramètre n'a pas besoin d'être affiché).
Pourquoi devez-vous définir enctype="multipart/form-data" lors du téléchargement de fichiers :
Parce que : après avoir défini enctype sur la valeur multipart/form-data, les caractères ne sont pas encodés , et les données sont transmises au serveur sous forme binaire. À l'heure actuelle, si vous utilisez la requête, vous ne pouvez pas obtenir directement la valeur du formulaire correspondant. Vous devez plutôt utiliser l'objet stream pour décoder les données binaires transmises au serveur. pour lire les données.
Si vous souhaitez télécharger des fichiers, vous devez définir l'encotype sur multipart/form-data.