- 首先导入依赖
<!--文件上传-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.0.1</version>
</dependency>
2.直接上代码
private static final String UPLOAD_PATH="/static/upload";
public static Set<String> photo;
static {
photo = new HashSet<String>();
String[] phototype = {".png", ".jpg", ".jpeg", ".gif", ".bmp"};
for (String string : phototype) {
photo.add(string);
}
}
@PostMapping("fileUpload")
public ServerResponse fileUpload(MultipartFile[] multipartFiles ,HttpServletRequest request){
//设置上下文
//CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
//定义文件名变量
String fileName = "";
String fileSuffix = "";
String savePath = request.getSession().getServletContext().getRealPath(UPLOAD_PATH);
List<String> files = new LinkedList<String>();
try {
for (MultipartFile file : multipartFiles) {
System.out.println("fileOldName"+file.getOriginalFilename());
//获取文件名称
String originalFilename = file.getOriginalFilename();
//获取文件后缀名
fileSuffix = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());
//新生成文件名
fileName = UUID.randomUUID().toString() + System.currentTimeMillis() + fileSuffix;
//保存文件
File targetFile = new File(savePath, fileName);
//判断目标文件夹是否存在
if (!targetFile.exists()) {
targetFile.mkdirs();
}
// targetFile.delete();
// 保存
try {
file.transferTo(targetFile);
if (file.getSize() > 100000) {
String newfilename = UUID.randomUUID().toString() + System.currentTimeMillis() + fileSuffix;
if (photo.contains(fileSuffix)) {
fileName = newfilename;
}
}
files.add(fileName);
} catch (Exception e) {
e.printStackTrace();
}
}
}catch (Exception e) {
}
if (!files.isEmpty()) {
StringBuilder sb = new StringBuilder();
for (String s : files) {
sb.append(UPLOAD_PATH + String.valueOf(s) + ",");
}
return ServerResponse.createBySuccess(sb);
}
return ServerResponse.createByErrorMessage("上传失败");
}
3.测试