wapConfig.getFilePath()配置文件存储的本地地址(例如:D:\xxFiles\)
上传文件需要判断文件夹是否存在,文件路径如果是a/b/c的则需要创建多个文件夹,判断如果存在,需要删除之前的文件,转存覆盖文件
- 上传单个文件
@ApiOperation(value = "上传文件")
@PostMapping("uploadFile/{path}")
public WapResponse<String> uploadFile(@RequestParam String path, @RequestParam MultipartFile file) throws IOException {
try {
String rootPath = wapConfig.getFilePath();
File folder = new File(rootPath);
if (!folder.exists()) {//判断文件夹是否存在
folder.mkdir();
}
if (path != null) {//如果路径是多层则需要循环创建文件夹
String[] folderNames = path.split("/");
for (int i = 0; i < folderNames.length; i++) {
rootPath = rootPath + "\\" + folderNames[i];
File folderFile = new File(rootPath);
if (!folderFile.exists()) {//判断文件夹是否存在
folderFile.mkdir();//创建文件夹
}
}
}
String filename = file.getOriginalFilename();//获取文件名
String filePath = rootPath + "\\" + filename;//文件的绝对路径
File newFile=new File(filePath);
if(newFile.exists())//判断是否存在
newFile.delete();//删除旧的文件
file.transferTo(newFile);//文件转存
return WapResponse.success(filePath);
} catch (Exception e) {
log.error(e.getMessage());
return WapResponse.error();
}
}
- 上传文件集合
@ApiOperation(value = "上传文件集合")
@PostMapping("uploadFileList/{path}")
public WapResponse<ArrayList<String>> uploadFileList(@RequestPart String path, @RequestParam MultipartFile[] files) throws IOException {
try {
String rootPath = wapConfig.getFilePath();
File folder = new File(rootPath);
if (!folder.exists()) {//判断文件夹是否存在
folder.mkdir();
}
if (path != null) {//循环创建文件夹
String[] folderNames = path.split("/");
for (int i = 0; i < folderNames.length; i++) {