kzen.dev
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 EBAG
EBAG
Question

Co oznacza enctype='multipart/form-data'?

Co oznacza enctype='multipart/form-data' w formularzu HTML i kiedy należy go używać?

1281 2010-12-24T12:19:27+00:00 3
Mark Amery
Mark Amery
Edytowane pytanie 2. lutego 2019 в 2:21
Programowanie
http-headers
html
multipartform-data
Popular videos
Mule 4 - Multipart Form data - Part 1 | What is Multipart form data? #mule4 #multipart #mulesoft
Mule 4 - Multipart Form data - Part 1 | What is Multipart form data? #mule4 #multipart #mulesoft
2 lata temu
Tool for sending multipart/form-data request with Postman
Tool for sending multipart/form-data request with Postman
6 lat temu
Learn what is multipart form data and how to built it
Learn what is multipart form data and how to built it
2 lata temu
What Is Enctype in HTML | Why We Use Enctype Tag When File Upload | Part 21 [HINDI]
What Is Enctype in HTML | Why We Use Enctype Tag When File Upload | Part 21 [HINDI]
3 lata temu
POST form-data file upload + JSON
POST form-data file upload + JSON
2 lata temu
What is a FormData Object
What is a FormData Object
4 lata temu
HTML : how to submit Form with AJAX Using enctype="multipart/form-data"?
HTML : how to submit Form with AJAX Using enctype="multipart/form-data"?
1 rok temu
Section 2 Module 2 Part 9: Handling Multipart Data
Section 2 Module 2 Part 9: Handling Multipart Data
9 lat temu
Android Networking - What is Multipart Request - MindOrks
Android Networking - What is Multipart Request - MindOrks
4 lata temu
HTML : Why not use enctype="multipart/form-data" always?
HTML : Why not use enctype="multipart/form-data" always?
1 rok temu
HTML : Use `enctype="multipart/form-data"` always or never?
HTML : Use `enctype="multipart/form-data"` always or never?
1 rok temu
Salesforce: When to use enctype as multipart/form-data
Salesforce: When to use enctype as multipart/form-data
2 lata temu
jQuery : Jquery/Ajax Form Submission (enctype="multipart/form-data" ). Why does 'contentType:False'
jQuery : Jquery/Ajax Form Submission (enctype="multipart/form-data" ). Why does 'contentType:False'
1 rok temu
ReactJS - Uploading Files with Axios and FormData
ReactJS - Uploading Files with Axios and FormData
5 lat temu
[ Html5 In Arabic ] #22 - Form Attributes - Form [ Action, Method, EncType ]
[ Html5 In Arabic ] #22 - Form Attributes - Form [ Action, Method, EncType ]
8 lat temu
notice: undefined index (Not declared  enctype="multipart/form-data" IN FORM)  $_FIELD['DATA']
notice: undefined index (Not declared enctype="multipart/form-data" IN FORM) $_FIELD['DATA']
1 rok temu
PC-followme 04_3-常用的from語法
PC-followme 04_3-常用的from語法
5 lat temu
СВЯЗЫВАЕМ HTML Form C JavaScript. ВСЕ СПОСОБЫ ПОЛУЧЕНИЯ ДАННЫХ. FormData.
СВЯЗЫВАЕМ HTML Form C JavaScript. ВСЕ СПОСОБЫ ПОЛУЧЕНИЯ ДАННЫХ. FormData.
3 lata temu
« Poprzedni
Następny »
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
 Quentin
Quentin
24. grudnia 2010 в 12:21
2010-12-24T12:21:56+00:00
Więcej
Źródło
Edytuj
#11568225

Kiedy wykonujesz żądanie POST, musisz w jakiś sposób zakodować dane, które tworzą ciało żądania.

Formularze HTML udostępniają trzy metody kodowania.

  • application/x-www-form-urlencoded (domyślnie)
  • multipart/form-data (domyślnie)
  • text/plain.

Trwały prace nad dodaniem application/json, ale zostały one porzucone.

(Inne kodowania są możliwe dla żądań HTTP generowanych przy użyciu innych środków niż formularz HTML).

Specyfika formatów nie ma znaczenia dla większości programistów. Ważne są następujące kwestie:

  • Nigdy nie używaj text/plain.

Kiedy piszesz kod po stronie klienta:

  • użyj multipart/form-data gdy twój formularz zawiera jakiekolwiek elementy <input type="file">.
  • w przeciwnym wypadku możesz użyć multipart/form-data lub application/x-www-form-urlencoded ale application/x-www-form-urlencoded będzie bardziej wydajne

Kiedy piszesz kod po stronie serwera:

  • Użyj wstępnie napisanej biblioteki obsługi formularzy

Większość z nich (jak na przykład Perl's CGI->param lub ta ujawniona przez PHP's $_POST superglobal) zajmie się różnicami za Ciebie. Nie zawracaj sobie głowy próbami parsowania surowych danych wejściowych otrzymywanych przez serwer.

Czasami można znaleźć bibliotekę, która nie radzi sobie z obydwoma formatami. Najpopularniejszą biblioteką Node.js's do obsługi danych z formularzy jest body-parser, która nie radzi sobie z wieloczęściowymi żądaniami (ale ma dokumentację, która poleca kilka alternatyw, które mogą to zrobić).


Jeśli piszesz (lub debugujesz) bibliotekę do parsowania lub generowania surowych danych, wtedy musisz zacząć martwić się o format. Możesz również chcieć wiedzieć o tym dla samego zainteresowania'.

Format application/x-www-form-urlencoded jest mniej więcej tym samym, co ciąg zapytania na końcu adresu URL.

Opcja multipart/form-data jest znacznie bardziej skomplikowana, ale pozwala na dołączanie całych plików do danych. Przykład wyniku można znaleźć w specyfikacji HTML 4.

text/plain jest wprowadzony przez HTML 5 i jest użyteczny tylko do debugowania - z specyfikacji: They are not reliably interpretable by computer - and I'd argue that the others combined with tools (like the Net tab in the developer tools of most browsers) are better for that).

 Quentin
Quentin
Edytowana odpowiedź 12. kwietnia 2019 в 8:04
GitHub - expressjs/body-parser: Node.js body parsing middleware
Node.js body parsing middleware. Contribute to expressjs/body-parser development by creating an account on GitHub.
github.com
1444
0
Artificial intelligence to parse product page
productapi.dev
Matt Asbury
Matt Asbury
24. grudnia 2010 в 12:49
2010-12-24T12:49:18+00:00
Więcej
Źródło
Edytuj
#11568226

enctype='multipart/form-data` jest typem kodowania, który pozwala na wysyłanie plików przez POST. Mówiąc prościej, bez tego kodowania pliki nie mogą być wysyłane przez POST.

Jeśli chcesz pozwolić użytkownikowi na przesłanie pliku przez formularz, musisz użyć tego enctype.

Habeeb Perwad
Habeeb Perwad
Edytowana odpowiedź 12. grudnia 2012 в 11:30
85
0
Artificial intelligence to parse product page
productapi.dev
 Andry
Andry
24. grudnia 2010 в 5:50
2010-12-24T17:50:10+00:00
Więcej
Źródło
Edytuj
#11568227

Wysyłając formularz, każesz swojej przeglądarce wysłać, za pomocą protokołu HTTP, wiadomość w sieci, odpowiednio opakowaną w strukturę wiadomości protokołu TCP/IP. Strona HTML posiada sposób na wysyłanie danych do serwera: poprzez użycie <form>s.

Kiedy formularz jest wysyłany, tworzone jest żądanie HTTP i wysyłane do serwera, wiadomość ta będzie zawierała nazwy pól formularza i wartości wypełnione przez użytkownika. Ta transmisja może się odbyć za pomocą metod POST lub GET _HTTP.

  • POST mówi przeglądarce, aby zbudowała wiadomość HTTP i umieściła całą zawartość w treści wiadomości (bardzo użyteczny sposób, bardziej bezpieczny i elastyczny).
  • GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET) przekaże dane z formularza w querystring. Ma pewne ograniczenia co do reprezentacji danych i długości.

Określenie jak wysłać formularz do serwera

Atrybut enctype ma sens tylko przy użyciu metody POST. Gdy jest określony, instruuje przeglądarkę, aby wysłała formularz kodując jego zawartość w określony sposób. Z MDN - Form enctype:

Gdy wartością atrybutu method jest post, enctype oznacza MIME typem zawartości, która jest używana do przesłania formularza do serwera.

  • application/x-www-form-urlencoded: Jest to wartość domyślna. Kiedy formularz jest wysyłany, wszystkie nazwy i wartości są zbierane i URL Encoding jest wykonywane na końcowym łańcuchu.
  • multipart/form-data: Znaki NIE są kodowane. Jest to ważne, gdy formularz posiada kontrolkę wysyłania plików. Chcesz wysłać plik binarnie i to zapewnia, że strumień bitów nie jest zmieniany.
  • text/plain: Spacje są konwertowane, ale nie jest wykonywane dalsze kodowanie.

Bezpieczeństwo

Podczas wysyłania formularzy mogą pojawić się pewne problemy z bezpieczeństwem, jak podano w RFC 7578 Section 7: Multipart form data - Security considerations:

Całe oprogramowanie przetwarzające formularze powinno traktować dostarczone przez użytkownika form-dane z wrażliwością, ponieważ często zawierają one poufne lub osobiście informacje identyfikujące. Powszechnie stosowane są funkcje "autouzupełniania" formularzy w przeglądarkach internetowych; funkcji > w przeglądarkach internetowych; mogą one być wykorzystywane do oszukiwania użytkowników, aby nieświadomego wysyłania poufnych informacji podczas wypełniania skądinąd niewinnych zadań. nieszkodliwych zadań. multipart/form-data nie dostarcza żadnych funkcji do sprawdzania integralności, zapewniania poufności, unikania pomyłek użytkowników pomyłki użytkownika, lub innych funkcji bezpieczeństwa; te obawy muszą być zaadresowane przez aplikacje do wypełniania formularzy i interpretacji danych.

Aplikacje, które otrzymują formularze i przetwarzają je, muszą być ostrożne aby nie dostarczać z powrotem do witryny przetwarzającej formularze danych, które nie były przeznaczone do wysłania.

Ważne jest przy interpretacji nazwy pliku z nagłówka Content- Disposition header field, aby nie nadpisać przypadkowo plików w > odbiorcy. przestrzeni plików odbiorcy'.

Dotyczy to deweloperów, których serwer będzie przetwarzał formularze przesłane przez użytkowników, które mogą zawierać poufne informacje.

 Andry
Andry
Edytowana odpowiedź 3. lutego 2019 в 9:25
Percent-encoding - Wikipedia
en.wikipedia.org
Mozilla logo
developer.mozilla.org
RFC 7578: Returning Values from Forms: multipart/form-data
tools.ietf.org
Mozilla logo
developer.mozilla.org
Mozilla logo
developer.mozilla.org
73
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Анна Литвиненко
Zarejestrowany 1 dzień temu
2
Inessa bu
Zarejestrowany 1 miesiąc temu
3
Denis Babushkin
Zarejestrowany 1 miesiąc temu
4
asakuno asakuno
Zarejestrowany 1 miesiąc temu
5
aldo salerno
Zarejestrowany 1 miesiąc temu
Artificial intelligence to parse product page
productapi.dev
DE
EL
ES
ET
FR
ID
IT
JA
KO
LT
NL
NO
PL
PT
RO
RU
SK
TR
UK
ZH
© kzen.dev 2023
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem