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

MySQL verwendet Binlog-Protokolle zur Implementierung der Datenwiederherstellung

MySQL Binlog ist ein sehr wichtiges Protokoll in ...

Eine Methode zum Erstellen von Karussellbildern mit CSS3

Diashows sieht man häufig auf Webseiten. Sie enth...

Der gesamte Prozess der Optimierung des ersten Ladens einer Vue-Seite

Inhaltsverzeichnis Vorwort 1. Bildoptimierung 2. ...

Einführung in das Fokuselement document.activeELEment in JavaScript

Inhaltsverzeichnis 1. Der Fokus liegt standardmäß...

So verwenden Sie ECharts in WeChat Mini-Programmen mit uniapp

Heute verwenden wir Uniapp, um Echarts zur Anzeig...

Detaillierte Erläuterung verschiedener Speichermethoden von Docker-Containern

Inhaltsverzeichnis Vorne geschrieben Mehrere Spei...

Welche Schleife ist in JavaScript die schnellste?

Wenn wir wissen, welche For-Schleife oder welcher...

Umfassende Zusammenfassung der MySQL-Funktionen

Inhaltsverzeichnis 1. Häufig verwendete Zeichenfo...

So verwenden Sie CSS-Attributselektoren zum Spleißen von HTML-DNA

CSS-Attributselektoren sind großartig. Sie können...