Einführung in das Enctype-Attribut des Form-Tags und seine Anwendungsbeispiele

Einführung in das Enctype-Attribut des Form-Tags und seine Anwendungsbeispiele
Enctype: Gibt den Kodierungstyp an, der vom Browser beim Zurücksenden von Daten an den Server verwendet wird. Wird zum Hochladen von Bildern in Formularen verwendet.

Es gibt drei Kodierungstypen:

application/x-www-form-urlencoded: Alle Zeichen vor dem Senden kodieren (Standard). Dies ist das Standardcodierungsformat.
multipart/form-data: Keine Zeichen kodieren. Dieser Wert muss verwendet werden, wenn ein Formular verwendet wird, das ein Steuerelement zum Hochladen von Dateien enthält.
text/plain: Die Formulardaten werden als einfacher Text ohne Steuerelemente oder Formatierungszeichen codiert.

Beispiel:

Code kopieren
Der Code lautet wie folgt:

<form action="${pageContext.request.contextPath}/imageUpload_saveOrUpdate.action" method="post" enctype="multipart/form-data">
<div>
<label>Bitte wählen Sie die Upload-Bildadresse:</label>
<input Typ="Datei" Name="Bild"/>
</div>
</div>
<div>
<input type="submit" value="Hochladen"/>
</div>
</form>

Die Bedeutung von enctype="multipart/form-data" im Formular besteht darin, die MIME-Kodierung des Formulars festzulegen. Standardmäßig ist das Kodierungsformat application/x-www-form-urlencoded, das nicht für Datei-Uploads verwendet werden kann; nur bei Verwendung von multipart/form-data können die Dateidaten vollständig übertragen werden.

enctype="multipart/form-data" wird zum Hochladen binärer Daten verwendet.

Wenn Sie den Wert des entsprechenden Formularfelds über das Request-Objekt auf der Serverseite abrufen möchten, sollten Sie das Attribut „enctype“ auf application/x-www-form-urlencoded setzen (also den Standardwert, der weggelassen werden kann).

Warum müssen Sie beim Hochladen von Dateien enctype="multipart/form-data" festlegen?

Denn: Wenn nach dem Setzen von enctype auf multipart/form-data die Zeichen nicht codiert sind, werden die Daten in binärer Form an den Server übertragen. Wenn Sie zu diesem Zeitpunkt eine Anforderung verwenden, können Sie den Wert des entsprechenden Formulars nicht direkt abrufen. Stattdessen sollten Sie das Stream-Objekt verwenden, um die an den Server übertragenen binären Daten zu decodieren und die Daten zu lesen.

Wenn Sie eine Datei hochladen möchten, müssen Sie den Enkotyp auf „multipart/form-data“ setzen.

<<:  Detailliertes Beispiel der CSS3-Boxschatteneigenschaft

>>:  Vue implementiert die Internationalisierung der Sprachumschaltung für Webseiten

Artikel empfehlen

Detaillierte Analyse der MySQL Master-Slave-Replikation

Vorwort: In MySQL sollte die Master-Slave-Archite...

Häufige Szenarien und Vermeidungsmethoden für Indexfehler in MySQL

Vorwort Ich habe zuvor viele ähnliche Artikel gel...

CentOS 7 - Lösungsprozessdiagramm für vergessene Passwörter

brauchen Unabhängig davon, ob es sich um ein Wind...

Mehrere Möglichkeiten zum Einfügen von SVG in HTML-Seiten

SVG (Scalable Vector Graphics) ist ein Bildformat...

Anweisungen zum Erlernen von Vue

Inhaltsverzeichnis 1. v-Text (v-Befehlsname = „Va...

Der grundlegendste Code für Webseiten

◆Zu Favoriten hinzufügen veranschaulichen Klicken...

Detaillierte Erklärung der MySQL-Berechtigungen und -Indizes

MySQL-Berechtigungen und Indizes Der höchste Benu...

CSS erzielt den Effekt der Vermischung zweier Elemente (Sticky-Effekt)

Ich erinnere mich, dass es vor ein paar Jahren in...

Tipps zum Gestalten der Fotovorschau-Navigation auf Webseiten

<br />Navigation bezieht sich nicht nur auf ...

MySQL-Abfragebaumstrukturmethode

Inhaltsverzeichnis MySQL-Abfragebaumstruktur 1. Ü...

Miniprogramm zur Implementierung der Token-Generierung und -Verifizierung

Inhaltsverzeichnis Verfahren Demo Mini-Programm B...

Zusammenfassung der MySQL-Fremdschlüsseleinschränkungen und Tabellenbeziehungen

Inhaltsverzeichnis Fremdschlüssel So ermitteln Si...