SpringMVC多文件上传+获取文件名ITeye - 威尼斯人

SpringMVC多文件上传+获取文件名ITeye

2019-01-12 04:43:27 | 作者: 访波 | 标签: 文件,上传,咱们 | 浏览: 1442

在运用SpringMVC做上传文件时,一般的做法是,如下:

public Map String, Object upload(HttpServletRequest request, @RequestParam MultipartFile file){
}

 在形参中界说MultipartFile,假如是单个文件,倒还没有什么影响,咱们完全能够将input的name界说为file,否则会接纳不到。那假如多文件呢? 像这样MultipartFile[] files 么?? 关于多个input file,咱们不或许吧一切的input的name都界说为相同的姓名, 比方file。假如改了姓名,会发现接纳不到,或许少接纳。

那有时分,咱们的确期望一切的input file的name都不相同,或许一个name是file1,另一个name是file2, 那咱们没理由界说多个的,如下: 

public Map String, Object upload(MultipartFile file1,MultipartFile file2,MultipartFile file3){
}

 

这样,对与多文件,但姓名有不同的情况下,咱们会麻烦死。

那SpringMVC有别的一种方法,能够让咱们处理这种困扰,便是运用CommonsMultipartResolver:

public Map String,Object upload(HttpServletRequest request){
 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
 if(multipartResolver.isMultipart(request)){
 MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
 Iterator String iter = multiRequest.getFileNames();
 while(iter.hasNext()){
 MultipartFile file = multiRequest.getFile(iter.next());
 System.out.println(file.getName());
}

 

这样就能处理多文件上传,但name又不一致的问题了。 当然,SpringMVC的文件上传,我也引荐运用这个,要比MultipartFile好用,详细自己能够测验一下。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表威尼斯人立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章