form元素的enctype屬性指定了表單數(shù)據(jù)向服務(wù)器提交時(shí)所采用的編碼類型,默認(rèn)的缺省值是“application/x-www-form-urlencoded”。
這種編碼方式在表單發(fā)送之前都會(huì)將內(nèi)容進(jìn)行urlencode 編碼。(空格轉(zhuǎn)換為“+”,特殊字符轉(zhuǎn)化為ascii的hex值)。
比如我們?cè)诒韱斡蛑械?/P>
firstname填入 bb ,,
最后發(fā)送之前得到的結(jié)果就是: bb+%2c%2c
然而,在向服務(wù)器發(fā)送大量的文本、包含非ascii字符的文本或二進(jìn)制數(shù)據(jù)時(shí)這種編碼方式效率很低。
在文件上載時(shí),所使用的編碼類型應(yīng)當(dāng)是“multipart/form-data”,它既可以發(fā)送文本數(shù)據(jù),也支持二進(jìn)制數(shù)據(jù)上載。
瀏覽器端<form>表單的enctype屬性值為multipart/form-data,它告訴我們傳輸?shù)臄?shù)據(jù)要用到多媒體傳輸協(xié)議,由于多媒體傳輸?shù)亩际谴罅康臄?shù)據(jù),所以規(guī)定上傳文件必須是post方法,<input>的type屬性必須是file。