新增 支持压缩包密码 修复LINUX下中文乱码 解压支持文件目录

新增 支持压缩包密码 修复LINUX下中文乱码 解压支持文件目录

Signed-off-by: 高雄 <admin@cxcp.com>
pull/84/head
高雄 2023-04-03 07:12:05 +00:00 committed by Gitee
parent cc7da00001
commit a44e5ba518
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
1 changed files with 19 additions and 0 deletions

View File

@ -4,6 +4,7 @@ import cn.keking.config.ConfigConstants;
import cn.keking.model.ReturnResponse;
import cn.keking.utils.KkFileUtils;
import cn.keking.utils.WebUtils;
import cn.keking.service.CompressFileReader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.ObjectUtils;
@ -162,6 +163,24 @@ public class FileController {
return ReturnResponse.success(fileName);
}
@GetMapping("/directory")
public Object directory(String urls) {
if (ObjectUtils.isEmpty(urls)) {
return ReturnResponse.failure("地址不合法!");
}
String fileUrl;
try {
fileUrl = WebUtils.decodeUrl(urls);
if (fileUrl.toLowerCase().startsWith("file:") || fileUrl.toLowerCase().startsWith("file%3")) {
return ReturnResponse.failure("地址不合法!");
}
} catch (Exception ex) {
String errorMsg = String.format(BASE64_DECODE_ERROR_MSG, "url");
return errorMsg;
}
return CompressFileReader.getTree(fileUrl);
}
private boolean existsFile(String fileName) {
File file = new File(fileDir + demoPath + fileName);
return file.exists();