我在工作时遇到了问题,
假设我必须上传客户端文件,所以我正在使用
<form action='UploadFile.jsp' method='post' enctype='multiform/form-data'>
<input type='file' name='data' id='filechooser'>
</form>
在我需要在表单中添加更多细节之前,情况还不错
现在表单中还包含2个输入标记
<form action='UploadFile.jsp' method='post' enctype='multiform/form-data'>
<input type='file' name='data' id='filechooser'>
<input type='number' name='no_of_days'/>
<input type='date' name='dat'/>
</form>
现在,当我使用request.getParameter()方法访问它们时,其他两个元素显示为null。
我在this教程
中使用了UploadFile我尝试了什么?
我检查了this这个问题并不相似,但有一个看似正确的答案并尝试了答案,但我一直在为此行获取NullReferenceException
BufferedReader reader = new BufferedReader(new InputStreamReader(part.getInputStream(), "UTF-8"));
这行代码是上述链接问题
中答案的一部分答案 0 :(得分:1)
如果你正在使用Commons
库(我相信你是因为你在问题中提到的链接) - 你可以简单地得到简单的参数:
FileItem
类有一个名为isFormField
的方法,如果此Item表示一个简单的表单字段,它将返回true。在您知道特定FileItem
是一个简单的表单字段后,您可以使用getFieldName
和getString
来获取此字段的名称/值。
基本上,如果您使用了您提到的示例中的代码,则可以执行以下操作:
if (!fi.isFormField ()) {
// Get the uploaded file parameters
..... code for file field ....
} else {
//it's a simple form field - get it's name and value and do whatever you need
String fieldName = fi.getFieldName();
String fieldValue = fi.getString();
}