我有一个html表单提交如下:
<form enctype="multipart/form-data" id="formToSubmit" action="/create_components" method="POST">
<input type="file" name="component_1" id="component_1">
Other inputs here...
在服务器端,我想获得所有输入(文件和文本输入)......并且表单是动态创建的,因此我事先并不知道ID的名称。
在服务器上,我需要内容和ID。
在服务器上我首先尝试循环参数,但这会跳过类型为file的输入并只返回文本的输入:
Enumeration<?> enums = request.getParameterNames();
while (enums.hasMoreElements()) {
Object inputName = enums.nextElement();
// Here I get all the input that are not files
}
然后我试着这样:
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Set set = multipartRequest.getFileMap().entrySet();
Iterator i = set.iterator();
while(i.hasNext()) {
Map.Entry me = (Map.Entry)i.next();
String fileName = (String)me.getKey();
MultipartFile multipartFile = (MultipartFile)me.getValue();
byte[] bytes = multipartFile.getBytes();
}
通过这种方式我实际上得到了文件,但我不知道如何获取他们的ID。
我需要两个:文件内容和ID(在本例中为“component_1”)。我怎样才能做到这一点?有没有办法可以更改最后一个代码以获取ID?
答案 0 :(得分:1)
您可以通过以下方式获取文件名称:
String valueOfNameAttribute = ((MultipartFile)me.getValue()).getName()
不是你需要的吗?