获取一次请求中多个MultipartFile文件数据

628 阅读1分钟

甲方:说写一个标准化页面配置、在后台搞一个能配置多套不同页面出来。

我:得加钱、这是另外的价钱!!!(表设计同事设计的、我就CRUD。)

后面设计完我看了一下拓展数据的类型、有多选、单选、还有图片...图片类型就是存储图片文件的地址、有可以是一个页面中配多个类型为图片的、但是出现了一个问题就是怎么知道这个上传多个图片每个图片对应的是哪个拓展的key的数据

就好比如这种、有一个页面有多个file文件要上传到服务器

<input type="file" name="file1" />
<input type="file" name="file2" />

一般java图片上传的方式MultipartFile来接收上传图片文件

public String test(HttpServletRequest request
                    @RequestParam("file1") MultipartFile multipartFile){
        ...
}

或者使用实体类属性来接收

public class Account {
    MultipartFile file1;
   // ...get/set
}

但是上面两种都是指定获取指定name=xxx的图片数据、达不到一次获取到提交的全部文件的数据信息

@RequestMapping(value = "/upload",method = RequestMethod.POST)
public String test(HttpServletRequest request){
    MultipartHttpServletRequest multipartRequest2 = WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class);
    Map<String, MultipartFile> fileMap = multipartRequest2.getFileMap();
    return "a";
}

fileMap中的key对应的就是前端name的名字、而value就是图片数据、然后在处理的数据的时候就可以在数据库查询出图片类型对应的key然后通过指定key获取fileMap中对应的图片数据!