Enctype :指定將資料回傳至伺服器時瀏覽器所使用的編碼類型。用於表單有圖片上傳。
編碼類型有以下三種:
application/x-www-form-urlencoded: 在傳送前編碼所有字元(預設)。這是標準的編碼格式。
multipart/form-data: 不對字元編碼,在使用包含檔案上傳控制項的表單時,必須使用該值。
text/plain: 窗體資料以純文字形式進行編碼,其中不含任何控製或格式字元。
範例:
表單中enctype="multipart/form-data"的意思,是設定表單的MIME編碼。預設情況,這個編碼格式是 application/x-www-form-urlencoded,不能用於檔案上傳;只有使用了multipart/form-data,才能完整 的傳遞檔案資料。
enctype="multipart/form-data"是上傳二進位資料過去。
如果在伺服器端要透過Request物件取得對應表單網域的值,則應該將enctype屬性設為application/x-www-form-urlencoded值(即預設值,可以不顯示設定)。
為什麼上傳檔案要設定enctype="multipart/form-data":
因為:設定enctype為multipart/form-data值後,不對字元編碼,則資料透過二進位的形式傳送到伺服器端,這時如果用request是無法直接取得到對應表單的值的,而應該透過stream流對象,將傳到伺服器端的二進位資料解碼,從而讀取資料。
如果要上傳檔案的話,是一定要將encotype設定為multipart/form-data的。