1. 程式人生 > >用multipart/form-data提交表單檔案資料獲取不瞭解決辦法

用multipart/form-data提交表單檔案資料獲取不瞭解決辦法

在學習Servlet檔案上傳方面遇到了一個問題,就是通過multipart/form-data這個表單型別提交要上傳的檔案的時候,Servlet用request.getParameter()方法獲取非檔案的資料時發現為空。

具體如下

jsp頁面

<body>
    <form action="${pageContext.request.contextPath}/uppicture" method="post"  enctype="multipart/form-data" >
     暱稱:<input type="text" name="name"><br>
            <div>
                  <img src="${image_path}" width="200" height="200">
             </div>
              頭像:<input type="file" name="uploadFile"> 
        <input type="submit" value="上傳頭像"/>
   </form>

用String name=request.getParameter("name")時發現name的值為空

解決方法如下

通過遍歷,判斷哪些上傳是檔案型別,哪些不是,若是普通檔案型別,通過item.getFieldName()獲取普通表單的屬性,item.getString("UTF-8")獲取屬性對應的值。

List <FileItem> items = upload.parseRequest(request);
				//遍歷
				for(FileItem item:items){
				//若item為普通表單項
					if(item.isFormField()){
					//獲取表單中屬性名稱
					String fieldName = item.getFieldName();
					if(fieldName.equals("name")){
					//獲取表單屬性的值
					String name=item.getString("UTF-8");
					}
					System.out.println(fieldName+"="+name);