spring mvc 配置文件
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
package com.baiyyy.yfz.controller;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import com.baiyyy.yfz.core.BaseController;
import com.baiyyy.yfz.util.DateUtil;
import com.baiyyy.yfz.util.PictureUploadPath;
/**
* 基础服务接口
*
* @author 左立军
*
*/
@RestController
@RequestMapping("/upload")
public class UploadController extends BaseController {
/**
* 图片路径配置
*/
@Autowired
private PictureUploadPath pictureUploadPath;
@RequestMapping(value = "/picture", consumes = "multipart/form-data", method = RequestMethod.POST)
public void picture(@RequestParam("fileUpload") CommonsMultipartFile file) {
// 判断文件是否存在
if (!file.isEmpty()) {
String path = pictureUploadPath.uploadPicturePath + "/"
+ DateUtil.convertDateToYYYYMMdd(new Date()) + "/";
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
}
path += file.getOriginalFilename();
File localFile = new File(path);
try {
file.transferTo(localFile);
} catch (IllegalStateException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
多文件上传
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@RequestMapping(value ="/picture", consumes ="multipart/form-data", method = RequestMethod.POST)
public void picture(HttpServletRequest request) {
String uploadPicturePath = pictureUploadPath.getUploadPicturePath();
String pathname = uploadPicturePath +"/"
+ DateUtil.convertDateToYYYYMMdd(new Date()) +"/";
File file =new File(pathname);
if (!file.exists()) {
file.mkdirs();
}
MultipartHttpServletRequest muti = (MultipartHttpServletRequest) request;
System.out.println(muti.getMultiFileMap().size());
MultiValueMap map = muti.getMultiFileMap();
for (Map.Entry> entry : map.entrySet()) {
List list = entry.getValue();
for (MultipartFile multipartFile : list) {
try {
multipartFile.transferTo(new File(pathname
+ multipartFile.getOriginalFilename()));
}catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
}
}
}
用到的包
commons-fileupload
commons-fileupload
1.3.2
commons-io
commons-io
2.5