① form 在上傳文件時用enctype欄位有什麼用處
FORM元素的enctype屬性指定了表單數據向伺服器提交時所採用的編碼類型,默認的預設值是「application/x-www-form-urlencoded」。
這種編碼方式在表單發送之前都會將內容進行urlencode 編碼。(空格轉換為「+」,特殊字元轉化為ASCII的HEX值)。
比如我們在表單域中的
firstname填入 bb ,,
最後發送之前得到的結果就是: bb+%2C%2C
然而,在向伺服器發送大量的文本、包含非ASCII字元的文本或二進制數據時這種編碼方式效率很低。
在文件上載時,所使用的編碼類型應當是「multipart/form-data」,它既可以發送文本數據,也支持二進制數據上載。
瀏覽器端<form>表單的ENCTYPE屬性值為multipart/form-data,它告訴我們傳輸的數據要用到多媒體傳輸協議,由於多媒體傳輸的都是大量的數據,所以規定上傳文件必須是post方法,<input>的type屬性必須是file。
② jsp中文件上傳的時候form表單加了enctype屬性時為什麼request.getparmater()傳不過值
有了enctype是是用2進制遞交數據的
③ form表單中的enctype="multipart/form-data"什麼意
這個的意思是form提交的是文件類型,也就是以流的形式上傳。
舉例:
<form id='modify1' name="modify1" method="post" enctype="multipart/form-data" action="${ctx}/report/rate_exchange.jsp" >
<table class="table_common" id="table1" cellspacing="1" cellpadding="0">
<tr class='title_tr' >
<td style="white-space: nowrap; text-align: center;" colspan="4">
<input type="file" name="fileName" id="filePath">
<input type="button" style="white-space: nowrap; text-align: center;" class="List_Button2" value="<BOC:I18N name="submit"/>" onclick="submitForm1()" />
<input type="reset" style="white-space: nowrap; text-align: center;" class="List_Button2" value="<BOC:I18N name="reset"/>" onclick='confirm("你確認要取消本次上傳嗎?")'/>
</td>
</tr>
</table>
</form>
④ 為什麼上傳文件的表單里要加個屬性enctype
表單中enctype="multipart/form-data"的意思,是設置表單的MIME編碼。默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用於文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數據,進行下面的操作.
⑤ form表單怎麼能直接提交ftp伺服器上,把文件上傳到ftp伺服器上!
沒辦法直接傳的!
你只能用表單先傳到web伺服器上,
然後再從web伺服器上傳到FTP上!(可以自己寫一個服務程序)
⑥ 上傳文件form表單為什麼提交不了後台
text/plain: 窗體數據以純文本形式進行編碼,其中不含任何控制項或格式字元。
enctype="multipart/form-data是設置表單的版MIME編碼。默權認情況,這個編碼格式是application/x-www-form-urlencoded,不能用於文件上傳;只有使用了multipart/form- data,才能完整的傳遞文件數據,進行下面的操作.
別人的一個例子:
form中加入enctype="multipart/form-data"時整個表單被封裝,字元將轉成二進制流,因此request.getParameter("user_type")是得不到值的.給段實例做參考:
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.upload();
String strzy=su.getRequest().getParameter("user_type");
這樣就行了
⑦ 為什麼上傳文件的表單裡面要加一個屬性enctype=multipart/form
表單中enctype="multipart/form-data"的意思是:設置表單的MIME編碼。
默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用於文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數據,進行以後的操作。
⑧ form表單中的enctype="multipart/form-data"什麼意思
enctype就是encodetype就是編碼類型的意思。
multipart/form-data是指表單數據有多部分構成,既有文本數據,又有文件等二進制數據的意思。
需要注意的是:默認情況下,enctype的值是application/x-www-form-urlencoded,不能用於文件上傳,只有使用了multipart/form-data,才能完整的傳遞文件數據。
application/x-www-form-urlencoded不是不能上傳文件,是只能上傳文本格式的文件,multipart/form-data是將文件以二進制的形式上傳,這樣可以實現多種類型的文件上傳。
一、關於HTML <form> 標簽的 enctype 屬性
application/x-www-form-urlencoded:在發送前編碼所有字元(默認)
multipart/form-data: 不對字元編碼,或在使用包含文件上傳控制項的表單時,必須使用該值。
text/plain:空格轉換為 "+" 加號,但不對特殊字元編碼。
二、enctype:規定了form表單在發送到伺服器時候編碼方式,有如下的三個值。
1、application/x-www-form-urlencoded。默認的編碼方式。但是在用文本的傳輸和MP3等大型文件的時候,使用這種編碼就顯得 效率低下。
2、multipart/form-data 。 指定傳輸數據為二進制類型,比如圖片、mp3、文件。
3、text/plain。純文體的傳輸。空格轉換為 「+」 加號,但不對特殊字元編碼。