- 使用类型 MultipartFile 接收文件,多文件使用 MultipartFile[];
- 使用 HttpServletRequest request 然后将 request 转换为 ((MultipartHttpServletRequest) request) ,可以使用 getFiles(参数名) 或 getFileMap() 方法获取到文件集合,再取出集合里的一个 MultipartFile;
@PostMapping("/upload")
public Map multiimport(@RequestParam("uploadFile") MultipartFile[] uploadFile) {
Map result = new HashMap();
System.out.println(uploadFile.length);
for (MultipartFile multipartFile:uploadFile) {
System.out.println("文件"+multipartFile.getOriginalFilename());
}
return result;
}
@PostMapping("/importInfo")
public Result> importInfo(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map fileMap = multipartRequest.getFileMap();
for (Map.Entry entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
file.getInputStream();
前端
Vue
导出模板 上传信息
data() { return {
header: { 'X-Access-Token': Vue.ls.get(ACCESS_TOKEN) },
url: { importInfo: '/baseinfo/importInfo' }
}}
importInfo() { // 返回请求Url:服务器地址 + 请求API
return `${window._CONFIG['domianURL']}${this.url.importInfo}`
},
handleInfoimport(info) {
if (info.file.response.success) {
this.$message.info('信息导入成功,共导入' + info.file.response.result.total + '条')
} else {
this.$message.error(info.file.response.message)
}
}
普通Form表单提交
缺点:页面会刷新



