Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MultipartTTpServletRequest获取文件内容但不获取表单ID_Java_Spring - Fatal编程技术网

Java MultipartTTpServletRequest获取文件内容但不获取表单ID

Java MultipartTTpServletRequest获取文件内容但不获取表单ID,java,spring,Java,Spring,我有一个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 我同

我有一个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(在本例中为“组件1”)。我该怎么做?是否有办法更改最后一个代码以同时获取ID?

您可以通过调用以下地址获得文件名:

String valueOfNameAttribute = ((MultipartFile)me.getValue()).getName()

这不是你需要的吗?

不,我不需要文件名。我只需要表单和内容的ID。您的意思是希望在服务器端具有“ID=”component_1“的值吗?据我所知,这是不可能的。ID仅在客户端使用。只有“name”的值“标记的属性已发送到服务器。是的,名称。。。没错。我可以在客户端上使用相同的值设置名称和idside@user1883212声明
getName()
将“以多部分形式返回参数的名称”。因此听起来它完全符合您的要求。它不会返回上传文件的文件名。@user1883212正如Anthony所说,这正是您所需要的,您可以通过调用
((MultipartFile)me.getValue()).getName()来访问“组件1”。不多不少。
 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();

 } 
String valueOfNameAttribute = ((MultipartFile)me.getValue()).getName()