1. 程式人生 > >解決 ENCTYPE= "multipart/form-data "表單提交值獲取方案

解決 ENCTYPE= "multipart/form-data "表單提交值獲取方案

表單經常上傳附件,
會使用到
ENCTYPE= "multipart/form-data "

這句話的意思是處理表單的所有資訊以流方式提交,
頁面上的所有資訊已經都轉換為了檔案流,
為的是能讓服務端得到你上傳的檔案的檔案流。

表單中enctype="multipart/form-data"的意思,是設定表單的MIME編碼。預設情況,這個編碼格式是application/x-www-form-urlencoded,不能用於檔案上傳;只有使用了multipart/form- data,才能完整的傳遞檔案資料,進行下面的操作.
enctype=\"multipart/form-data\"是上傳二進位制資料; form裡面的input的值以2進位制的方式傳過去。
form裡面的input的值以2進位制的方式傳過去,所以request就得不到值了。 也就是說加了這段程式碼,用request就會傳遞不成功,


表單其他資訊也變成了流,用
request.getParameter()
方法當然得不到值了
這個時候我們一般使用元件處理
1.smartupload 元件

用smartupload提供的一個方法可以得到值
mySmartUpload.getRequest().getParameter()

2.commons-fileupload元件

3.使用struts1.x的ActionForm機制