servlet接收multipart/form-data表單資料
表單的的提交方式有“application/x-www-form-urlencoded”和“multipart/form-data”兩種方式,預設的預設情況為“application/x-www-form-urlencoded”提交。
一般情況下使用“application/x-www-form-urlencoded”會比較快捷,然而,在向伺服器傳送大量的文字、包含非ASCII字元的文字或二進位制資料時這種編碼方式效率很低。特別在檔案上載時,所使用的編碼型別應當是“multipart/form-data”,它既可以傳送文字資料,也支援二進位制資料上載。所以,大資料傳輸時一般選擇“multipart/form-data”。
然而當使用“multipart/form-data”傳輸時,如果傳輸的資料有多個引數,那麼用request.getParameter()取到的值會是null。所以要用request.getInputStream()取值並解析。解析的部分網上提供多種封裝好的方法。下面為其中一種方法。
DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("UTF-8"); List items = upload.parseRequest(request); Map param = new HashMap(); for(Object object:items){ FileItem fileItem = (FileItem) object; if (fileItem.isFormField()) { param.put(fileItem.getFieldName(), fileItem.getString("utf-8"));//如果你頁面編碼是utf-8的 } }
用該方法解析完之後可以直接用param.get()獲取你要的值,但是該方法要匯入commons-fileupload-1.3.jar和commons-io-1.2.jar。
此為jar包下載地址http://download.csdn.net/detail/han123456o/6769327
相關推薦
servlet接收multipart/form-data表單資料
表單的的提交方式有“application/x-www-form-urlencoded”和“multipart/form-data”兩種方式,預設的預設情況為“application/x-www-form-urlencoded”提交。 一般情況下使用“application
解決 ENCTYPE= "multipart/form-data "表單提交值獲取方案
表單經常上傳附件,會使用到ENCTYPE= "multipart/form-data "這句話的意思是處理表單的所有資訊以流方式提交,頁面上的所有資訊已經都轉換為了檔案流,為的是能讓服務端得到你上傳的檔案的檔案流。表單中enctype="multipart/form-data
python爬蟲實現multipart/form-data;表單提交
fields 引數 接收值: [(key,value),(k,v)] 此引數接收普通鍵值對資料,將鍵值對轉換為multipart/form-data格式 files 接收值: [
SpringMVC接收 multipart/form-data 傳輸的資料
spring上下文配置中加入如下配置,一定要注意,id為multipartResolver,不能是其他的。 <bean id="multipartResolver"
如何用SpringBoot框架來接收multipart/form-data文件
otf 判斷 ack 限制 pub dex *** multi 前臺 https://blog.csdn.net/linzhiqiang0316/article/details/77016997 ***************************************
Spring MVC獲取不到post提交的multipart/form-data格式的資料
我們在寫介面時,經常會用postman測試介面。前段時間我寫介面時,發現post的form-data提交資料,後端竟然接收不到請求引數,而使用post的x-www-form-urlencoded方式提交資料,後端可以接收到引數。為什麼? postman的form-data是指mult
如何用SpringBoot框架來接收multipart/form-data檔案
https://blog.csdn.net/linzhiqiang0316/article/details/77016997 *********************************************************** 今天遇到一個坑,這裡給大家介紹一下。 現在
multipartFile用來接收multipart/form-data請求傳過來的引數
什麼是multipart/form-data請求 根據http/1.1 rfc 2616的協議規定,我們的請求方式只有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE等,那為為何我們還會有multipart/form-data請求之說呢?這就要從頭來說了。 htt
後臺使用multipart/form-data方式提交資料
protected string CreateFormDateResponse(string url, Encoding encoding, IDictionary<string, string> textParams, IDictionary<strin
使用form-data表單上傳圖片
這是參考的大神的文章,連結忘了,這是很早的參考文章寫出來的。只需改動幾個地方,就OK public class FileImageUpload { private static final String TAG = “uploadFile”; pr
使用multipart form-data方式post資料到伺服器
使用multipart/form-data方式提交資料與普通的post方式有一定區別。multipart/form-data的請求頭必須包含一個特殊的頭資訊:Content-Type,其值必須為multipart/form-data。另外還需要規定一個內容分割符
JSP中表單加了enctype="multipart/form-data"屬性後request就接收不到表單傳過來的值的問題
1.get方式 get方式提交的話,表單項都儲存在http header中,格式是 http://localhost:8080/hello.do?name1=value1&name2=value2這樣的字串。JSP端通過request.getPara
用multipart/form-data提交表單檔案資料獲取不瞭解決辦法
在學習Servlet檔案上傳方面遇到了一個問題,就是通過multipart/form-data這個表單型別提交要上傳的檔案的時候,Servlet用request.getParameter()方法獲取非檔案的資料時發現為空。 具體如下 jsp頁面 <body>
Multipart/form-data POST檔案上傳詳解 理論 簡單的HTTP POST 大家通過HTTP向伺服器傳送POST請求提交資料,都是通過form表單提交的,程式碼如下:
Multipart/form-data POST檔案上傳詳解 理論 簡單的HTTP POST 大家通過HTTP向伺服器傳送POST請求提交資料,都是通過form表單提交的,程式碼如下: <form method="post"action="http://w.soh
form enctype:"multipart/form-data",method:"post" 提交表單,後臺獲取不到資料
在解決博問node.js接受引數的時候,發現當form中新增enctype:"multipart/form-data",後臺確實獲取不到資料,於是跑到百度上查了一下,終於明白為什麼了,下面轉載一下原因吧: 1.get方式 get方式提交的話,表單項都儲存在http h
HttpClient:模擬表單提交檔案,傳送multipart/form-data資料
使用HttpClient來模擬表單提交,傳送檔案 常用於非web客戶端與web後端傳輸檔案 1.pom <dependencies> <!-- https://m
HTML表單提交資料 application/x-www-form-urlencoded 和 multipart/form-data 區別
概述: 在 Form 元素的語法中,EncType 表明提交資料的格式。 用 Enctype 屬性指定將資料回發到伺服器時瀏覽器使用的編碼型別。 說明: application/x-www-form-urlencoded:窗體資料被編碼為名稱/值對。這是標準的編
HTML表單提交資料中application/x-www-form-urlencoded和multipart/form-data的區別
在Form元素的語法中,EncType表明提交資料的格式 用 Enctype 屬性指定將資料回發到伺服器時瀏覽器使用的編碼型別。 下邊是說明: application/x-www-form-urlencoded : 窗體資料被編碼為名稱/值對。這是標準的編
flask獲取表單以enctype="multipart/form-data"格式傳送的資料
最早的HTTP POST是不支援檔案上傳的,給程式設計開發帶來很多問題。但是在1995年,ietf出臺了rfc1867,也就是《RFC 1867 -Form-based File Upload in HTML》,用以支援檔案上傳。所以Content-Type的型
HTTP form表單提交數據(enctype="multipart/form-data" method="post")的服務端處理
keyword -s detail put form表單 表單提交 class eth ron 參考鏈接:http://blog.csdn.net/u010018421/article/details/52833346 <form action="fileUpload