解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法

本文提供了几种解决在使用multipart/form-data作为ContentType时,HttpServletRequest.getParameter返回null的问题的方法。其中包括使用不同的库来解析请求并获取参数值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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. > Solution B: > 1. download > http://jakarta.apache.org/commons/sandbox/fileupload/ > 2. invoke readHeaders() in > org.apache.commons.fileupload.MultipartStream The Solution B as given by my dear friend is a bit hectic and a bit complex :( We can try the following solution which I found much simpler (at least in usage). 1. Download one of the versions of UploadFile from http://jakarta.apache.org/commons/fileupload/ 2. Invoke parseRequest(request) on org.apache.commons.fileupload.FileUploadBase which returns list of org.apache.commons.fileupload.FileItem objects. 3. Invoke isFormField() on each of the FileItem objects. This determines whether the file item is a form paramater or stream of uploaded file. 4. Invoke getFieldName() to get parameter name and getString() to get parameter value on FileItem if it's a form parameter. Invoke write(java.io.File) on FileItem to save the uploaded file stream to a file if the FileItem is not a form parameter.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值