解決當FORM的ENCTYPE="multipart/form-data" 時request.getParameter()獲取不到值的方法
今天在原來上傳檔案頁面的基礎上,想新增一段檔案的簡介
因為同時要上傳檔案,所以ENCTYPE="multipart/form-data" 必須要加在form裡面
可是這樣的話,我再servlet裡面用request.getParameter()方法無論如何都只是獲得null值,
不是一般的鬱悶,百度了一下,有人出現了同樣的問題可是它用的是jspsmartupload元件實現檔案上傳的,
而我用的commons fileupload元件,仔細看了一下這個元件的api,可是英語太差了,沒有發現相關的資訊
我又嘗試用session傳遞引數,可是發現有點麻煩,因為在表單提交之時你就得賦給session表單上它的數值,
這似乎要javascript,可是偶也不會,
後來只有google了,搜尋了一些中文網頁,也沒有找到資料,試試不限制語言,呵呵呵,一大片,後來被俺發
現了這個
I cannot read the submitter using request.getParameter("submitter") (it returns null). ]
Situation:
javax.servlet.HttpServletRequest.getParameter(String) returns null when the ContentType is multipart/form-data
Solutions:
Solution A:
1. download http://www.servlets.com/cos/index.html
2. invoke getParameters() on com.oreilly.servlet.MultipartRequest
Solution B:
1. download http://jakarta.apache.org/commons/sandbox/fileupload/
2. invoke readHeaders() in
org.apache.commons.fileupload.MultipartStream
Solution C:
1. download http://users.boone.net/wbrameld/multipartformdata/
2. invoke getParameter on
com.bigfoot.bugar.servlet.http.MultipartFormData
Solution D:
Use Struts. Struts 1.1 handles this automatically.
說是不詳細,接著往下看,另一種解決方法
表單中enctype="multipart/form-data"的意思,是設定 表單的MIME編碼。預設情況,這個編碼格式是application/x-www-form-urlencoded,不能用於檔案上傳;只有使用了 multipart/form-data,才能完整的傳遞檔案資料
但是設定了 enctype="multipart/form-data" ,除了file型別表單能獲取到,其他value通過request.getParameter都得不到。這種情況下我們可以利用元件來解決該問題,例如用 jspsmartupload元件
com.jspsmart.upload.SmartUpload su = new com.jspsmart.upload.SmartUpload();
su.initialize(pageContext);
su.service(request, response);
su.setTotalMaxFileSize(100000000);
su.setAllowedFilesList("zip,rar");
su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
su.upload();
String Name = su.getRequest().getParameter("Name");
String TYPE_ID = su.getRequest().getParameter("Type");
通過 su.getRequest().getParameter("value");就可以了,su.upload()好象必須放在前面,測試中將su.upload()放在獲取引數後面不成功。
相關推薦
解決當FORM的ENCTYPE="multipart/form-data" 時request.getParameter()獲取不到值的方法
今天在原來上傳檔案頁面的基礎上,想新增一段檔案的簡介 因為同時要上傳檔案,所以ENCTYPE="multipart/form-data" 必須要加在form裡面 可是這樣的話,我再servlet裡面用request.getParameter()方法無論如何都只是獲得null值
解決當FORM的ENCTYPE="multipart/form-data" 時request.getParameter()獲取不到值的問題
今天在原來上傳檔案頁面的基礎上,想新增一段檔案的簡介 因為同時要上傳檔案,所以ENCTYPE="multipart/form-data" 必須要加在form裡面 可是這樣的話,我再servlet裡面用request.getParameter()方法無論如何都只是獲得null
解決python傳送multipart/form-data請求上傳檔案的問題
#coding=utf8 import requests from uuid import uuid4 import os file_name='test' url= boundary=uuid4().hex header={'Content-Typ
enctype已經設定為multipart/form-data 但request.getinputstream()仍然為null
struts2開發環境中,通過設定enctype="multipart/form-data"上傳檔案時,在另一個jsp頁面中通 過request.getInputStream()手動獲取二進位制流結果為null的問題原因描述 上傳檔案時,可以通過設定: enctype="m
【轉】遇到request.getParameter()獲取空值
轉載網址:https://blog.csdn.net/iriszx999/article/details/75585052?utm_source=blogxgwz1 說白了就是pageEncoding和charset的用法不同,以下是它們的區別: pageEncoding表示這個頁面接收到引數以
request.getParameter()獲取不到資料的問題
在我們做專案時有時會發現:客戶端通過http協議post方式上傳資料到服務端, 在伺服器端通過request.getInputStream()能獲取到相應的資料,但用request.getParameter()卻獲取不到資料。 這是怎麼回事呢? 這種情況跟form表
jsp的request.getParameter獲取不到表單引數
[b]可能原因:[/b]1: form表單中的控制元件沒有定義name屬性2: form表單中的控制元件被設定成disabled3: form表單的enctype="multipart/form-data"是一種用於上傳檔案的表單[b]解決方法:[/b]對於第三種情況我們直接
jquery通過ajax-json訪問java後臺傳遞引數,通過request.getParameter獲取不到引數的說明
Java後臺伺服器是apache-tomcat-6.0.37 正常的post請求(不包括ajax請求)在http頭中的content-type為application/x-www-form-urlencoded,這時在java後臺可以通過request.getPara
node進階| 解決表單enctype="multipart/form-data" 時獲取不到Input值的問題
分割字符串 odi logs -1 字符串 var dex 路徑 date() 今天在學習node踩到一個坑:form設置enctype="multipart/form-data"上傳文件時,無法獲取到表單其他input的值。 因為之前上傳文件用的是 formidable
檔案上傳下載時,在form表單中設定屬性enctype=“multipart/form-data”的情況下,如何獲取表單提交的值?
一、問題描述 檔案上傳下載時,在form表單中設定屬性enctype=“multipart/form-data”的情況下,如何獲取表單提交的有關使用者資訊的值?(比如:textfield、radio等屬性中的值) 二、解決方法 1、情況一:沒有對user物件進行封裝 方法:
JSP中表單加了enctype="multipart/form-data"屬性後request就接收不到表單傳過來的值的問題
1.get方式 get方式提交的話,表單項都儲存在http header中,格式是 http://localhost:8080/hello.do?name1=value1&name2=value2這樣的字串。JSP端通過request.getPara
Nginx上傳檔案413錯誤Processing of multipart/form-data request failed. Unexpected EOF read on the socket
問題描述: 利用ajax通過nginx上傳檔案到tomcat時,前端url報413http錯誤。 後臺tomcat控制檯也輸出對應的異常資訊,如下。 解決方法: 新增上傳檔案大小的最大值。 修改nginx的配置檔案:nginx.conf。目錄一般在 /usr/local/n
swagger匯入的寫法 Processing of multipart/form-data request failed. Stream ended unexpectedly
swagger匯入的寫法 @ApiOperation(value = "匯入") @PostMapping(value = "ImportItam",consumes = "multipart/*",headers = "content-type=multipart/form-da
簡單解決 multipart/form-data 檔案上傳表單中 傳遞引數無法獲取的辦法! (解決辦法:動態更改表單提交URL)
在jsp(其它動態web頁面好像也存在)中,如果要上傳檔案,表單的enctype就必須設定為"multipart/form-data"了,這樣就能夠傳遞檔案資料,卻無法傳遞引數,如下的表單: [xhtml] view plaincopyprint? 01.<for
解決 ENCTYPE= "multipart/form-data "表單提交值獲取方案
表單經常上傳附件,會使用到ENCTYPE= "multipart/form-data "這句話的意思是處理表單的所有資訊以流方式提交,頁面上的所有資訊已經都轉換為了檔案流,為的是能讓服務端得到你上傳的檔案的檔案流。表單中enctype="multipart/form-data
springMvc 完美解決 multipart/form-data 方式提交請求 在 Filter 中 ServletRequest.getParameter方法 獲取不到引數的問題
本文 只講使用不過多闡述原理(因為我也沒太深究),希望有熟知原理的朋友不吝分享 下面開始。 ------------------------------------------------------------------------------ 無聊的前言 但是還是得
上傳檔案form表單enctype="multipart/form-data"傳值解決辦法(代原始碼)
四個檔案原始碼分別為: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://ww
<form> multipart/form-data 上傳圖片
mbo tar nco 報錯 dial kit [] zip bbc 1 <form method="post" enctype="multipart/form-data" id="fileinfo" name="fileinf
x-www-form-urlencoded與multipart/form-data區別
app 所有 get filename tar 應該 www mon view http://blog.chinaunix.net/uid-7210505-id-329700.html application/x-www-form-urlencoded 與 multipar
HTTP multipart/form-data 上傳方式說明(有8個註意點)
ria ubi reference 就會 ros pda www tran cep ( From: http://home.meegoq.com/home-space-do-blog-uid-17-id-81.html ) HTTP multipart/form-data