@PostMapping({"/upload"})
public AjaxResult<String> upload(@RequestBody FileUploadDto dto){
Assert.notBlank(dto.getFolderPath(),"文件夹路径不能为空");
Assert.notBlank(dto.getZbdcFileName(),"文件名称不能为空");
Assert.notBlank(dto.getZrdsFileName(),"文件名称不能为空");
Assert.notBlank(dto.getZbdcExcel(),"文件不能为空");
Assert.notBlank(dto.getZrdsExcel(),"文件不能为空");
return service.upload(dto);
}
@Override
@SneakyThrows
public AjaxResult<String> upload(FileUploadDto dto) {
Path path = Paths.get(dto.getFolderPath());
String absolutePath = path.toAbsolutePath().toString();
File folder = new File(absolutePath);
if (!folder.exists() && !folder.isDirectory()) {
Path folderNewPath = Paths.get(dto.getFolderPath());
try {
Files.createDirectories(folderNewPath);
} catch (Exception e) {
throw new RuntimeException("文件夹创建失败");
}
}
File zbdcFile = new File(dto.getFolderPath().concat(File.separator).concat(dto.getZbdcFileName()));
File zrdsFile = new File(dto.getFolderPath().concat(File.separator).concat(dto.getZrdsFileName()));
if (zbdcFile.exists()) {
zbdcFile.delete();
startUploading(dto.getZbdcExcel(),dto.getFolderPath().concat(File.separator).concat(dto.getZbdcFileName()));
} else {
startUploading(dto.getZbdcExcel(),dto.getFolderPath().concat(File.separator).concat(dto.getZbdcFileName()));
}
if (zrdsFile.exists()) {
zrdsFile.delete();
startUploading(dto.getZrdsExcel(),dto.getFolderPath().concat(File.separator).concat(dto.getZrdsFileName()));
} else {
startUploading(dto.getZrdsExcel(),dto.getFolderPath().concat(File.separator).concat(dto.getZrdsFileName()));
}
return AjaxResult.success("文件上传成功!","ok");
}
private void startUploading(String excel, String filePath) throws IOException {
byte[] buffer = new BASE64Decoder().decodeBuffer(excel);
FileOutputStream out = new FileOutputStream(filePath);
out.write(buffer);
out.close();
}