上一篇:SpringBoot实现文件上传 | 带你读《SpringBoot实战教程》之二十八
下一篇:什么是Neo4J? | 带你读《SpringBoot实战教程》之三十
本文来自于千锋教育在阿里云开发者社区学习中心上线课程《SpringBoot实战教程》,主讲人杨红艳,点击查看视频内容。
SpringBoot实现批量文件上传
新建上传页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"></meta>
<title>文件上传</title>
</head>
<body>
<h2>批量文件上传示例</h2>
<hr/>
<form method = "POST" enctype="multipart/form-data" action="/upload/batch">
<p>
文件1:<input type="file" name="file"/>
</p>
<p>
文件2:<input type="file" name="file"/>
</p>
<p>
文件3:<input type="file" name="file"/>
</p>
<p>
<input type="submit" value="上传"/>
</p>
</form>
</body>
</html>
添加代码:
UploadController:
@RequestMapping("/indexs")
public String toUpload(){
return "uploads";
}
@RequestMapping(value="/upload/batch",method=RequestMethod.POST)
@ResponseBody
public String uploadFiles(MultipartFile[] file, HttpServletRequest request) {
try{
//创建文件在服务器端的存放路径
String dir=request.getServletContext().getRealPath("/upload");
File fileDir = new File(dir);
if(!fileDir.exists())
fileDir.mkdirs();
//生成文件在服务器端存放的名字
for(int i = 0;i<file.length;i++) {
String fileSuffix=file[i].getOriginalFilename().substring(file[i].getOriginalFilename().lastIndexOf("."));
String fileName=UUID.randomUUID().toString()+fileSuffix;
File files = new File(fileDir+"/"+fileName);
//上传
file[i].transferTO(files);
}
}catch(Exception e) {
e.printStackTrace();
return "上传失败";
}
return "上传成功";
}
执行结果:
选择文件上传: