@RequestMapping(value = "/uploadQrcodeZip", method = RequestMethod.POST)
@ResponseBody
@RequiresPermissions("system:userExtend:importUserData")
public ViewMessage uploadQrcodeZip(HttpServletRequest request, @RequestParam("importFile") MultipartFile importFile) throws Exception {
File file = new File(request.getServletContext().getRealPath("/static/qr/"));
System.out.println(file.getAbsolutePath());
if (!file.exists()) {
file.mkdirs();
}
File unzipDir = new File(file, UUID.randomUUID().toString());
cn.hutool.core.util.ZipUtil.unzip(importFile.getInputStream(), unzipDir, Charset.forName("GBK"));
moveFileToDir(unzipDir, file);
FileUtils.deleteDirectory(unzipDir);
return ViewMessage.createSuc("导入成功");
}
private void moveFileToDir(File file, File destPath) throws IOException {
if (file.isFile()) {
File qrFile = new File(destPath, file.getName().toLowerCase());
if (qrFile.exists()) {
FileUtils.deleteQuietly(qrFile);
}
FileUtils.moveFileToDirectory(file,destPath,false);
String fileName = file.getName();
String extName = FilenameUtils.getExtension(fileName).toLowerCase();
if (!fileName.endsWith(extName)) {
File tempFile = new File(destPath,file.getName() + ".bak");
FileUtils.moveFile(new File(destPath, file.getName()), tempFile);
FileUtils.moveFile(tempFile, new File(destPath,FilenameUtils.getBaseName(fileName) + "." + extName));
}
} else {
for (File f : file.listFiles()){
moveFileToDir(f, destPath);
}
}
}