request.getparameter("fname") //I can't able to get value.
<html> <head> <title>File Uploading Form</title> </head> <body> <h3>File Upload:</h3> Select a file to upload: <br /> <form action="UploadServlet" method="post" enctype="multipart/form-data"> <input type="text" name="fname" size="50" /> <input type="file" name="file" size="50" /> <input type="submit" value="Upload File" /> </form> </body> </html>
我的问题是: 如何fname在多部分帖子请求中传递参数?
fname
简短的回答: 你会发现fname在Part请求秒。
Part
长答案: 对于多部分类型的请求,即使简单<input type="text">字段值也放在部分中。您将必须遍历Part返回的对象HttpServletRequest.getParts()并根据其name属性对其进行处理:
<input type="text">
HttpServletRequest.getParts()
name
for( Part p : request.getParts() ) { if( "fname".equals(p.getName()) ) { ... } else if( "file".equals(p.getName()) ) { ... } }
为了进一步使事情复杂化,该部分的内容以InputStream-- 形式提供,Part.getInputStream()因此您将不得不做一点转换byte[]→→ String以获得值。
InputStream
Part.getInputStream()
byte[]
String