Answers:
ඔබ POST ඉල්ලීමක් කරන විට, යම් ආකාරයකින් ඉල්ලීමෙහි ශරීරය සාදන දත්ත සංකේතනය කළ යුතුය.
HTML ආකෘති කේතීකරණ ක්රම තුනක් සපයයි.
application/x-www-form-urlencoded
(පෙරනිමිය)multipart/form-data
text/plain
එකතු කිරීමේ කටයුතු සිදු කෙරෙමින් පැවතුනද application/json
එය අත්හැර දමා ඇත.
(HTML පෝරමයක් ඉදිරිපත් කිරීම හැර වෙනත් ක්රම භාවිතයෙන් ජනනය කරන ලද HTTP ඉල්ලීම් සමඟ වෙනත් කේතීකරණ කළ හැකිය. JSON යනු වෙබ් සේවා සමඟ භාවිතා කිරීම සඳහා පොදු ආකෘතියක් වන අතර සමහර ඒවා තවමත් SOAP භාවිතා කරයි.)
ආකෘති වල විශේෂතා බොහෝ සංවර්ධකයින්ට වැදගත් නොවේ. වැදගත් කරුණු:
text/plain
.ඔබ සේවාදායක පාර්ශවීය කේතය ලියන විට:
multipart/form-data
ඔබේ පෝරමයට කිසියම් <input type="file">
අංගයක් ඇතුළත් වූ විට භාවිතා කරන්නmultipart/form-data
හෝ application/x-www-form-urlencoded
නමුත් application/x-www-form-urlencoded
වඩාත් කාර්යක්ෂම වනු ඇතඔබ සේවාදායක පාර්ශවීය කේතය ලියන විට:
බොහෝමයක් ( පර්ල්ස් හෝ පීඑච්පී CGI->param
හි $_POST
සුපිරි ග්ලෝබල් විසින් නිරාවරණය කරන ලද ) ඔබ වෙනුවෙන් ඇති වෙනස්කම් ගැන සැලකිලිමත් වනු ඇත. සේවාදායකයාට ලැබුණු අමු ආදානය විග්රහ කිරීමට උත්සාහ නොකරන්න.
සමහර විට ඔබට ආකෘති දෙකම හැසිරවිය නොහැකි පුස්තකාලයක් සොයාගත හැකිය. පෝරම දත්ත හැසිරවීම සඳහා Node.js හි වඩාත්ම ජනප්රිය පුස්තකාලය වන්නේ බහු පාර්ශ්වික ඉල්ලීම් හැසිරවිය නොහැකි බොඩි-පාර්සර් ය (නමුත් හැකි විකල්ප කිහිපයක් නිර්දේශ කරන ලියකියවිලි ඇත).
අමු දත්ත විග්රහ කිරීම හෝ උත්පාදනය කිරීම සඳහා ඔබ පුස්තකාලයක් ලියන්නේ නම් (හෝ නිදොස්කරණය කිරීම), එවිට ඔබ ආකෘතිය ගැන කරදර වීමට පටන් ගත යුතුය. උනන්දුව නිසා ඔබට ඒ ගැන දැන ගැනීමට අවශ්ය විය හැකිය.
application/x-www-form-urlencoded
URL හි අවසානයේ ඇති විමසුම් නූලකට සමාන හෝ වැඩි වශයෙන් සමාන වේ.
multipart/form-data
සැලකිය යුතු ලෙස වඩා සංකීර්ණ නමුත් එය සම්පූර්ණ ගොනු දත්ත වලට ඇතුළත් කිරීමට ඉඩ දෙයි. ප්රති result ලය පිළිබඳ උදාහරණයක් HTML 4 පිරිවිතරයෙන් සොයාගත හැකිය .
text/plain
HTML 5 විසින් හඳුන්වා දී ඇති අතර එය නිදොස් කිරීම සඳහා පමණක් ප්රයෝජනවත් වේ - පිරිවිතරයෙන් : ඒවා පරිගණකයෙන් විශ්වාසදායක ලෙස අර්ථ නිරූපණය කළ නොහැක - අනෙක් ඒවා මෙවලම් සමඟ සංයෝජනය වී ඇත ( බොහෝ බ්රව්සර්වල සංවර්ධක මෙවලම්වල ඇති ජාල පැනලය වැනි ) වඩා හොඳ යැයි මම තර්ක කරමි. ඒ සඳහා).
අපි එය භාවිතා කළ යුත්තේ කවදාද?
ක්වෙන්ටින්ගේ පිළිතුර හරි ය: multipart/form-data
පෝරමයේ ගොනු උඩුගත කිරීමක් තිබේ නම් භාවිතා කරන්න, application/x-www-form-urlencoded
එසේ නොමැතිනම් ඔබ මඟ හැරියහොත් එය පෙරනිමිය enctype
වේ.
මම යනවා:
මේ සඳහා අවස්ථා තුනක් තිබේ enctype
:
application/x-www-form-urlencoded
multipart/form-data
( RFC7578 වෙත පිරිවිතර ලකුණු )text/plain
. මෙය "පරිගණකයෙන් විශ්වාසදායක ලෙස අර්ථ නිරූපණය කළ නොහැක", එබැවින් එය කිසි විටෙකත් නිෂ්පාදනයේදී භාවිතා නොකළ යුතු අතර, අපි ඒ පිළිබඳව තවදුරටත් සොයා බලන්නේ නැත.ඔබ එක් එක් ක්රමයට උදාහරණයක් දුටු පසු, ඒවා ක්රියාත්මක වන ආකාරය සහ ඔබ ඒවා භාවිතා කළ යුත්තේ කවදාද යන්න පැහැදිලි වේ.
ඔබට මෙය භාවිතා කරමින් උදාහරණ ඉදිරිපත් කළ හැකිය:
nc -l
හෝ ECHO සේවාදායකයක්: GET / POST ඉල්ලීම් පිළිගන්නා HTTP පරීක්ෂණ සේවාදායකයපෝරමය අවම .html
ගොනුවකට සුරකින්න :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>upload</title>
</head>
<body>
<form action="http://localhost:8000" method="post" enctype="multipart/form-data">
<p><input type="text" name="text1" value="text default">
<p><input type="text" name="text2" value="aωb">
<p><input type="file" name="file1">
<p><input type="file" name="file2">
<p><input type="file" name="file3">
<p><button type="submit">Submit</button>
</form>
</body>
</html>
අපි පෙරනිමි පෙළ අගය සකසා aωb
, ඉන් අදහස් aωb
නිසා ω
ය U+03C9
, එම බයිට් වන 61 CF 89 62
UTF-8.
උඩුගත කිරීම සඳහා ගොනු සාදන්න:
echo 'Content of a.txt.' > a.txt
echo '<!DOCTYPE html><title>Content of a.html.</title>' > a.html
# Binary file containing 4 bytes: 'a', 1, 2 and 'b'.
printf 'a\xCF\x89b' > binary
අපගේ කුඩා echo සේවාදායකය ධාවනය කරන්න:
while true; do printf '' | nc -l 8000 localhost; done
ඔබගේ බ්රව්සරයේ HTML විවෘත කර, ගොනු තෝරන්න සහ ඉදිරිපත් කිරීම මත ක්ලික් කර පර්යන්තය පරීක්ෂා කරන්න.
nc
ලැබුණු ඉල්ලීම මුද්රණය කරයි.
පරීක්ෂා කර ඇත්තේ: උබුන්ටු 14.04.3, nc
බීඑස්ඩී 1.105, ෆයර්ෆොක්ස් 40.
ෆයර්ෆොක්ස් යවන ලදි:
POST / HTTP/1.1
[[ Less interesting headers ... ]]
Content-Type: multipart/form-data; boundary=---------------------------735323031399963166993862150
Content-Length: 834
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="text1"
text default
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="text2"
aωb
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="file1"; filename="a.txt"
Content-Type: text/plain
Content of a.txt.
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="file2"; filename="a.html"
Content-Type: text/html
<!DOCTYPE html><title>Content of a.html.</title>
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="file3"; filename="binary"
Content-Type: application/octet-stream
aωb
-----------------------------735323031399963166993862150--
ද්විමය ගොනුව සහ පෙළ ක්ෂේත්රය සඳහා, බයිට් 61 CF 89 62
( aωb
යූටීඑෆ් -8 හි) වචනාර්ථයෙන් යවනු ලැබේ. ඔබට එය සත්යාපනය කළ හැකිය nc -l localhost 8000 | hd
, එයින් කියවෙන්නේ බයිට්:
61 CF 89 62
යවන ලදි ( 61
== 'a' සහ 62
== 'b').
එබැවින් එය පැහැදිලි ය:
Content-Type: multipart/form-data; boundary=---------------------------735323031399963166993862150
අන්තර්ගත වර්ගය සකසා, multipart/form-data
ලබා දී ඇති boundary
නූලෙන් ක්ෂේත්ර වෙන් කර ඇති බව පවසයි .
නමුත් මෙය සැලකිල්ලට ගන්න:
boundary=---------------------------735323031399963166993862150
--
ඇත්ත බාධකයට වඩා අඩු තාත්තා දෙකක් ඇත
-----------------------------735323031399963166993862150
මෙයට හේතුව සම්මතයට ඉරක් දෙකකින් ආරම්භ කිරීම අවශ්ය වේ --
. අනෙක් ඉරක් ලෙස පෙනෙන්නේ ෆයර්ෆොක්ස් අත්තනෝමතික සීමාව ක්රියාත්මක කිරීමට තෝරාගත් ආකාරයයි. RFC 7578 පැහැදිලිවම සඳහන් කරන්නේ එම ප්රමුඛ ඉරක් --
දෙක අවශ්ය බවයි:
4.1. බහු මායිම් / ආකෘති-දත්තවල "මායිම්" පරාමිතිය
අනෙකුත් බහුපාර්ශ්වික වර්ග මෙන්, කොටස් මායිම් පරිසීමකය සමඟ වෙන් කර ඇති අතර, CRLF, "-" සහ "මායිම්" පරාමිතියේ වටිනාකම භාවිතා කර ඉදිකර ඇත.
සෑම ක්ෂේත්රයක්ම එහි දත්ත වලට පෙර උප ශීර්ෂයන් ලබා ගනී : Content-Disposition: form-data;
, ක්ෂේත්රය name
, සහ filename
, පසුව දත්ත.
සේවාදායකයා ඊළඟ මායිම් තීරුව තෙක් දත්ත කියවයි. බ්රවුසරය කිසිදු ක්ෂේත්රයක නොපෙන්වන මායිමක් තෝරා ගත යුතුය, එබැවින් ඉල්ලීම් අතර සීමාව වෙනස් විය හැකිය.
අපට අද්විතීය මායිම ඇති බැවින්, දත්ත කේතනය කිරීම අවශ්ය නොවේ: ද්විමය දත්ත එවනු ලැබේ.
TODO: ප්රශස්ත මායිම් ප්රමාණය ( log(N)
මම ඔට්ටු අල්ලනවා) සහ එය සොයා ගන්නා ඇල්ගොරිතමයේ නම / ධාවන කාලය කුමක්ද? විමසනුයේ: /cs/39687/find-the-shortest-afterence-that-is-not-a-sub-afterence-of-a-set-of-afteences
Content-Type
බ්රව්සරය ස්වයංක්රීයව තීරණය කරයි.
එය හරියටම තීරණය කරන්නේ කෙසේද යන්න විමසනු ලැබුවේ: උඩුගත කරන ලද ගොනුවක mime වර්ගය බ්රව්සරය විසින් තීරණය කරන්නේ කෙසේද?
දැන් වෙනස් enctype
කිරීමට application/x-www-form-urlencoded
, බ්රව්සරය, කිරිම් නැවත පූරණය කරන්න.
ෆයර්ෆොක්ස් යවන ලදි:
POST / HTTP/1.1
[[ Less interesting headers ... ]]
Content-Type: application/x-www-form-urlencoded
Content-Length: 51
text1=text+default&text2=a%CF%89b&file1=a.txt&file2=a.html&file3=binary
පැහැදිලිවම ගොනු දත්ත යවා නැත, මූලික නම් පමණි. එබැවින් මෙය ගොනු සඳහා භාවිතා කළ නොහැක.
පෙළ ක්ෂේත්ර සඳහා පරිදි, අපි වගේ බව සුපුරුදු අක්ෂර බලන්න a
සහ b
-මුද්රිත නොවන අය මෙන් අතර එක් බයිටය තුල යවන ලද අතර, 0xCF
සහ 0x89
රැගෙන 3 බයිට් එක් එක්: %CF%89
!
ගොනු උඩුගත කිරීම් බොහෝ විට මුද්රණය කළ නොහැකි අක්ෂර (උදා: රූප) අඩංගු වන අතර පෙළ ආකෘති කිසි විටෙකත් සිදු නොවේ.
අප දැක ඇති උදාහරණ වලින්:
multipart/form-data
: පණිවිඩයට මායිම් ඉහළින් බයිට් කිහිපයක් එකතු කරන අතර එය ගණනය කිරීම සඳහා යම් කාලයක් ගත කළ යුතුය, නමුත් එක් එක් බයිට් එක බයිට් එකකින් යවයි.
application/x-www-form-urlencoded
: එක් ක්ෂේත්රයකට තනි බයිට් සීමාවක් ඇත ( &
), නමුත් මුද්රණය කළ නොහැකි සෑම අක්ෂරයක් සඳහාම 3x ක රේඛීය පොදු සාධකයක් එක් කරයි .
එම නිසා, අපට ලිපිගොනු යැවිය හැකි වුවද application/x-www-form-urlencoded
, අපට එය අවශ්ය නොවන්නේ එය එතරම් අකාර්යක්ෂම බැවිනි.
නමුත් පෙළ ක්ෂේත්රවල ඇති මුද්රණය කළ හැකි අක්ෂර සඳහා, එය වැදගත් නොවන අතර අඩු පිරිවැයක් ජනනය කරයි, එබැවින් අපි එය භාවිතා කරමු.
%CF
3 දිගු බයිට් කරයි: %
, C
සහ F
:-) කතාව එය මානව කියවිය හැකි බවට ය.
nc
දෙකම පිළිගන්නේ නැත . නමුත් මෙය මට ප්රයෝජනවත් වේ : . -l
-p
while true; do printf '' | nc -l 8000; done
Content-Type
හයිපන් දෙකක් ( --
) අඩුවෙන් --
තිබීමයි , එනම් පණිවුඩ ශරීරයේ මායිම සැබවින්ම භාවිතා කරන විට, ඔබ එය උපසර්ගය කළ යුතුය . එසේම, අවසාන සීමාව සමඟ උපසර්ගය යෙදිය යුතුය --
, නමුත් එය සැලකිය යුතු තරම් පහසුය. Stackoverflow.com/questions/3508252/…
enctype='multipart/form-data
POST හරහා ලිපිගොනු යැවීමට ඉඩ දෙන කේතීකරණ වර්ගයකි . ඉතා සරළව, මෙය කේතනය නොකර ගොනු යැවිය නොහැක POST .
පෝරමයක් හරහා ගොනුවක් උඩුගත කිරීමට පරිශීලකයාට ඉඩ දීමට ඔබට අවශ්ය නම්, ඔබ මෙම එන්ක්ටයිප් භාවිතා කළ යුතුය .
multipart/form-data
ද්විමය නොවන ලිපිගොනු යැවීම සඳහා භාවිතා කළ හැකි නමුත් එය අකාර්යක්ෂම වේ. application/x-www-form-urlencoded
ද්විමය නොවන දත්ත යැවීම සඳහා නිවැරදි ක්රමය භාවිතා කිරීම බව මම විශ්වාස කරමි, නමුත් ද්විමය නොවන ලිපිගොනු පිළිබඳ වැඩි අත්දැකීම් ඇති අයෙකුට මාව නිවැරදි කිරීමට අවශ්ය විය හැකිය.
multipart/form-data
ගොනුවක් යැවීම සඳහා භාවිතා කිරීමේ ඇති ප්රධාන වාසිය නම් එය ෆ්රොන්ටෙන්ඩ් සහ බැකෙන්ඩ් යන දෙකින්ම ස්වයංක්රීයව ක්රියා කිරීමයි. ඔබ විශේෂ හැසිරවීමක් කළ යුතු නැත. පෙළ පමණක් අඩංගු විය යුතු වුවත් සියලුම ලිපිගොනු ද්විමය වේ. application/x-www-form-urlencoded
අමුණා ඇති ලිපිගොනු නොමැතිව පෝරමයක් තැපැල් කිරීමට සම්මත ක්රමය වේ. multipart/form-data
අමුණා ඇති ලිපිගොනු (ය) සහිත පෝරමයක් තැපැල් කිරීමට සම්මත ක්රමය වේ. ( සේවාදායකයා සහ සේවාදායකයා අතර සන්නිවේදනය සඳහා පොදු වන application/json
සහ වැනි තවත් බොහෝ කේතන ක්රම application/json-patch+json
තිබේ.)
multipart/form-data
. ඔබට කළ නොහැකි දෙය නම් ජාවාස්ක්රිප්ට් නොමැතිව සාමාන්ය HTML පෝරමයක් ඉදිරිපත් කිරීමයි. ජාවාස්ක්රිප්ට් භාවිතා නොකර ලිපිගොනු තැපැල් කිරීමට ඔබට ඉඩ දීමට HTML සපයන multipart/form-data
එකම යාන්ත්රණය භාවිතා කිරීමට පෝරමයක් සැකසීම . පිළිතුරෙහි මෙය ප්රමාණවත් නොවන බව මට හැඟේ, සහ නැතිව ලිපිගොනු යැවීමට ඇති නොහැකියාව HTTP හි සීමාවක් යැයි බොළඳ පා er කයෙකු සිතිය හැකිය ; එය එසේ නොවේ. multipart/form-data
පෝරමයක් ඉදිරිපත් කරන විට, ඔබේ බ්රව්සරයට HTTP ප්රොටෝකෝලය හරහා ජාලයේ පණිවිඩයක් TCP / IP ප්රොටොකෝල් පණිවිඩ ව්යුහයක් තුළ නිසි ලෙස ඇතුළත් කර යැවීමට කියන්න. HTML පිටුවකට සේවාදායකයට දත්ත යැවීමට ක්රමයක් ඇත: භාවිතා කිරීමෙන්<form>
s .
පෝරමයක් ඉදිරිපත් කළ විට, HTTP ඉල්ලීමක් නිර්මාණය කර සේවාදායකයට යවනු ලැබේ, පණිවිඩයේ පෝරමයේ ක්ෂේත්ර නාම සහ පරිශීලකයා විසින් පුරවන ලද අගයන් අඩංගු වේ. මෙම සම්ප්රේෂණ සමග සිදු කළ හැකි POST
හෝ GET
HTTP ක්රම .
POST
ඔබේ බ්රව්සරයට HTTP පණිවිඩයක් ගොඩනඟා සියලු අන්තර්ගතයන් පණිවිඩයේ සිරුරට දමන්න (දේවල් කිරීමට ඉතා ප්රයෝජනවත් ක්රමයක්, වඩා ආරක්ෂිත සහ නම්යශීලී).GET
පෝරම දත්ත විමසුම් තුළ ඉදිරිපත් කරනු ඇත . දත්ත නිරූපණය සහ දිග පිළිබඳව එයට යම් සීමාවන් තිබේ.ගුණාංගයට enctype
හැඟීමක් ඇත්තේ POST
ක්රමයක් භාවිතා කරන විට පමණි . නිශ්චිතව දක්වා ඇති විට, පෝරමය එහි අන්තර්ගතය නිශ්චිත ආකාරයකින් කේතනය කිරීමෙන් යැවීමට බ්රව්සරයට උපදෙස් දෙයි. MDN වෙතින් - පෝරම enctype :
ක්රමයේ ගුණාංගයේ අගය තැපැල් වූ විට, එන්ක්ටයිප් යනු MIME වර්ගයේ අන්තර්ගතය වන අතර එය පෝරමය සේවාදායකයට ඉදිරිපත් කිරීමට භාවිතා කරයි.
application/x-www-form-urlencoded
: මෙය පෙරනිමියයි. පෝරමය යවන විට, සියලු නම් සහ අගයන් එකතු කර URL කේතීකරණය අවසාන නූලෙන් සිදු කෙරේ.multipart/form-data
: අක්ෂර කේතනය කර නොමැත. පෝරමයට ගොනු උඩුගත කිරීමේ පාලනයක් ඇති විට මෙය වැදගත් වේ. ඔබට ද්විමය ගොනුව යැවීමට අවශ්ය වන අතර මෙය බිට්ස්ට්රීම් වෙනස් නොවන බව සහතික කරයි.text/plain
: අවකාශය පරිවර්තනය වේ, නමුත් තවත් කේතන ක්රමයක් සිදු නොවේ.ආකෘති පත්ර ඉදිරිපත් කිරීමේදී, RFC 7578 හි 7 වන වගන්තියේ දක්වා ඇති පරිදි සමහර ආරක්ෂක ගැටළු මතු විය හැකිය : බහු පාර්ශ්වික ආකෘති දත්ත - ආරක්ෂක සලකා බැලීම් :
බොහෝ පෝරම සැකසුම් මෘදුකාංග පරිශීලකයා විසින් සපයන ලද ආකෘති දත්ත
සංවේදීතාවයෙන් සැලකිය යුතුය , මන්ද එය බොහෝ විට රහස්ය හෝ පෞද්ගලිකව
හඳුනා ගැනීමේ තොරතුරු අඩංගු වේ . වෙබ් බ්රව්සර්වල "ස්වයංක්රීයව පිරවීම" විශේෂාංග පුළුල් ලෙස භාවිතා වේ;
වෙනත් ආකාරයකින්
අහිංසක කාර්යයන් සම්පූර්ණ කිරීමේදී නොදැනුවත්ව රහස්ය තොරතුරු යැවීමට පරිශීලකයින් රැවටීමට මේවා භාවිතා කළ හැකිය . බහුපාර්ට් / පෝරම-දත්ත
අඛණ්ඩතාව පරීක්ෂා කිරීම, රහස්යභාවය සහතික කිරීම, පරිශීලක
ව්යාකූලතා මඟහරවා ගැනීම හෝ වෙනත් ආරක්ෂක අංගයන් සඳහා කිසිදු අංගයක් සපයන්නේ නැත ; එම උත්සුකයන් විය යුතුය
ආකෘති පත්ර පිරවීම සහ ආකෘති-දත්ත අර්ථ නිරූපණය කරන යෙදුම් මගින් විසඳිය .පෝරම ලබාගෙන ඒවා ක්රියාවට නංවන අයදුම්පත් යැවීමට අදහස් නොකළ ආකෘති පත්ර සැකසුම් අඩවියට නැවත දත්ත ලබා නොදීමට වගබලා ගත යුතුය.
ලබන්නාගේ ගොනු අවකාශයේ
ලිපිගොනු නොදැනුවත්ව නැවත ලිවීම නොකිරීමට අන්තර්ගත-විස්ථාපන ශීර්ෂ ක්ෂේත්රයේ ගොනු නාමය අර්ථ නිරූපණය කිරීමේදී එය වැදගත්
වේ.
ඔබ සංවර්ධකයෙකු නම් මෙය ඔබ ගැන සැලකිලිමත් වන අතර ඔබේ සේවාදායකයා විසින් පරිශීලකයින් විසින් ඉදිරිපත් කරන ලද ආකෘති සැකසෙනු ඇති අතර එමඟින් සංවේදී තොරතුරු අඩංගු විය හැකිය.
enctype
නොවේ. මම එය සිට වචනාර්ථයෙන් කියලා multipart/form-data
RFC, එතෙකුදු එය දත්ත ලෙස යවන යන්න මුලුමනින් ම ප්රලම්බ බව ආකෘති පත්ර ඉදිරිපත් ගැන ආරක්ෂක සලකා බැලීම් හිතුවක්කාරී හැලීම් තියෙන්නේ application/x-www-form-urlencoded
හෝ multipart/form-data
.
පෝරමයක් භාවිතා කර URL පරාමිතියක් තුළ ගොනු අන්තර්ගතය තැබිය නොහැකි බැවින් ක්රමවේදය POST වෙත සකසන්න.
එන්ක්ටයිපයේ අගය බහුපාර්ට් / පෝරම-දත්ත ලෙස සකසන්න, මන්ද දත්ත කොටස් කිහිපයකට බෙදා ඇති අතර, එක් එක් ගොනුවට එකක් සහ ඒවා සමඟ යැවිය හැකි පෝරමය ශරීරයේ පෙළ සඳහා එකක් වේ.
POST
පෝරමයක් හරහා ගොනුවක් ඉදිරිපත් කිරීම සඳහා එය ප්රමාණවත් විය හැකි බවත්, එකතු multipart/form-data
කිරීම කිසියම් නොපැහැදිලි ආකාරයකින් ප්රසාද දීමනාවක් බවත් මෙයින් ගම්ය වේ . එය එසේ නොවේ. බොහෝ ලිපිගොනු භාවිතා කිරීම අනිවාර්යයෙන්ම අවශ්ය වේ multipart/form-data
.
<head>
අතර <body>
එය අදාළ නොවේ.
ආකෘති පත්ර දත්ත සේවාදායකයට ඉදිරිපත් කිරීමේදී එය කේතනය කළ යුතු ආකාරය එන්ක්ටයිප් ගුණාංගයෙන් නියම කෙරේ.
එන්ක්ටයිප් ගුණාංගය භාවිතා කළ හැක්කේ method = "post" නම් පමණි.
අක්ෂර කිසිවක් කේතනය කර නොමැත. ඔබ ගොනු උඩුගත කිරීමේ පාලනයක් ඇති පෝරම භාවිතා කරන විට මෙම අගය අවශ්ය වේ
සිට W3Schools
multipart/form-data
. එය ද තරමක් අපැහැදිලි ය; “අක්ෂර සංකේතවත් කර නැත” යන වාක්යයේ අර්ථය කුමක්ද? -1.