登錄密碼加密傳輸 form表單中的enctype="multipart/form-data"什么意思?
form表單中的enctype="multipart/form-data"什么意思?Enctype是encodetype,意思是編碼類型。多部分/表單數(shù)據(jù)意味著表單數(shù)據(jù)由許多部分組成,
form表單中的enctype="multipart/form-data"什么意思?
Enctype是encodetype,意思是編碼類型。
多部分/表單數(shù)據(jù)意味著表單數(shù)據(jù)由許多部分組成,包括文本數(shù)據(jù)和二進(jìn)制數(shù)據(jù)(如文件)。
需要注意的是:默認(rèn)情況下,enctype的值為application/x-www-form-urlencoded,不能用于文件上載。只有使用多部分/表單數(shù)據(jù)時(shí),才能完全傳輸文件數(shù)據(jù)。
Application/x-www-form-urlencoded不是無法上載的文件,而是只能以文本格式上載的文件。Multipart/form data以二進(jìn)制形式上載文件,以便可以上載各種類型的文件。
擴(kuò)展信息:1。關(guān)于HTML< form> tag的enctype屬性
Application/x-www-form-urlencoded:發(fā)送前編碼所有字符(默認(rèn))
multipart/form data:不編碼字符,或在使用包含文件上載控件的窗體時(shí)使用此值。
文本/純文本:空格轉(zhuǎn)換為“”加號(hào),但不編碼特殊字符。
2、Enctype:指定表單發(fā)送到服務(wù)器時(shí)的編碼方法。它有以下三個(gè)值。
1、application/x-www-form-urlencoded。默認(rèn)編碼方法。但是在使用文本傳輸和MP3等大文件時(shí),使用這種編碼效率很低。
2、多部分/表單數(shù)據(jù)。指定要傳輸?shù)臄?shù)據(jù)為二進(jìn)制類型,如圖片、MP3、文件。
3、文本/純文本。純粹風(fēng)格的傳遞。空格轉(zhuǎn)換為加號(hào),但特殊字符不編碼。
為什么form里加上enctype=
Application/x-www-form-urlencoded:表單數(shù)據(jù)編碼為名稱/值對(duì)。這是標(biāo)準(zhǔn)的編碼格式。多部分/表單數(shù)據(jù):表單數(shù)據(jù)被編碼為消息,頁面上的每個(gè)控件對(duì)應(yīng)于消息的一部分。文本/純文本:表單數(shù)據(jù)以純文本編碼,沒有任何控件或格式字符。Enctype=“multipart/form data用于設(shè)置窗體的mime代碼。默認(rèn)情況下,此編碼格式為application/x-www-form-urlencoded,不能用于文件上載。只有使用多部分/表單數(shù)據(jù)時(shí),才能完全傳輸文件數(shù)據(jù),并且可以執(zhí)行以下操作。另一個(gè)例子:當(dāng)enctype=“multipart/form data”被添加到表單中時(shí),整個(gè)表單將被封裝,字符將被轉(zhuǎn)換為二進(jìn)制流,因此請(qǐng)求.getParameter(“u seruuutype”)無法獲取值。引用段實(shí)例:smartuploadsu=newsmartupload()su.初始化(頁面上下文)su.上傳()字符串=su.getRequest請(qǐng)求().getParameter(“user”僅此而已