Form表單標簽的Enctype屬性的作用及應用示例介紹
來源:易賢網 閱讀:1546 次 日期:2014-05-14 21:32:01
溫馨提示:易賢網小編為您整理了“Form表單標簽的Enctype屬性的作用及應用示例介紹”,方便廣大網友查閱!

Enctype:指定將數(shù)據(jù)回發(fā)到服務器時瀏覽器使用的編碼類型。用于表單里有圖片上傳。

編碼類型有以下三種:

application/x-www-form-urlencoded:在發(fā)送前編碼所有字符(默認)。這是標準的編碼格式。

multipart/form-data:不對字符編碼,在使用包含文件上傳控件的表單時,必須使用該值。

text/plain:窗體數(shù)據(jù)以純文本形式進行編碼,其中不含任何控件或格式字符。

例子:

代碼如下:

<formaction="${pageContext.request.contextPath}/imageUpload_saveOrUpdate.action"method="post"enctype="multipart/form-data">

<div>

<label>請選擇上傳圖片地址:</label>

<inputtype="file"name="image"/>

</div>

</div>

<div>

<inputtype="submit"value="上傳"/>

</div>

</form>

表單中enctype="multipart/form-data"的意思,是設置表單的MIME編碼。默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用于文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數(shù)據(jù)。enctype="multipart/form-data"是上傳二進制數(shù)據(jù)過去。

如果在服務器端要通過Request對象來獲取相應表單域的值,則應該將enctype屬性設置為application/x-www-form-urlencoded值(即默認值,可以不顯示設置)。

為什么上傳文件要設置enctype="multipart/form-data":

因為:設置enctype為multipart/form-data值后,不對字符編碼,則數(shù)據(jù)通過二進制的形式傳送到服務器端,這時如果用request是無法直接獲取到相應表單的值的,而應該通過stream流對象,將傳到服務器端的二進制數(shù)據(jù)解碼,從而讀取數(shù)據(jù)。

如果要上傳文件的話,是一定要將encotype設置為multipart/form-data的。

更多信息請查看IT技術專欄

更多信息請查看網頁制作
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網