diff --git a/xtools-app-sys/xtools-app-sys-file-web/src/main/java/xtools/app/sys/file/web/controller/SysCommonFileController.java b/xtools-app-sys/xtools-app-sys-file-web/src/main/java/xtools/app/sys/file/web/controller/SysCommonFileController.java index 1e7a2da..4986c85 100644 --- a/xtools-app-sys/xtools-app-sys-file-web/src/main/java/xtools/app/sys/file/web/controller/SysCommonFileController.java +++ b/xtools-app-sys/xtools-app-sys-file-web/src/main/java/xtools/app/sys/file/web/controller/SysCommonFileController.java @@ -21,6 +21,7 @@ import xtools.core.extend.TemplateUtils; import java.io.IOException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; +import java.util.Objects; /** *

Title : SysCommonFileController

@@ -51,7 +52,7 @@ public class SysCommonFileController { ) { try (ServletOutputStream outputStream = response.getOutputStream()) { response.setHeader("Cache-Control", "max-age=604800"); - sysFileOptService.download(id, outputStream, new SysFileDownloadCallback() { + SysFileResp resp = sysFileOptService.download(id, outputStream, new SysFileDownloadCallback() { @Override public boolean before(SysFileResp fileInfo) { // 判断文件权限 @@ -67,6 +68,9 @@ public class SysCommonFileController { return true; } }); + if (Objects.isNull(resp)) { + log.warn("文件获取失败,id={}", id); + } } catch (IOException e) { log.error("文件下载失败", e); throw new BizError("文件下载失败"); diff --git a/xtools-app-sys/xtools-app-sys-file/pom.xml b/xtools-app-sys/xtools-app-sys-file/pom.xml index 199b50c..ca72ce7 100644 --- a/xtools-app-sys/xtools-app-sys-file/pom.xml +++ b/xtools-app-sys/xtools-app-sys-file/pom.xml @@ -33,6 +33,11 @@ + + org.xujun + xtools-app-common-log-bus + + org.xujun xtools-app-sys-api diff --git a/xtools-app-sys/xtools-app-sys-file/src/main/java/xtools/app/sys/file/service/impl/SysFileOptServiceImpl.java b/xtools-app-sys/xtools-app-sys-file/src/main/java/xtools/app/sys/file/service/impl/SysFileOptServiceImpl.java index 158eb67..b4be5fb 100644 --- a/xtools-app-sys/xtools-app-sys-file/src/main/java/xtools/app/sys/file/service/impl/SysFileOptServiceImpl.java +++ b/xtools-app-sys/xtools-app-sys-file/src/main/java/xtools/app/sys/file/service/impl/SysFileOptServiceImpl.java @@ -16,6 +16,8 @@ import xtools.base.config.BaseParams; import xtools.boot.api.enums.FileDataType; import xtools.boot.api.exection.BizError; import xtools.boot.api.model.dto.Result; +import xtools.boot.log.LogBus; +import xtools.boot.log.enums.LogBusBaseType; import xtools.boot.storage.base.config.StorageConfig; import xtools.boot.storage.base.service.StorageService; import xtools.core.CollectionUtils; @@ -24,6 +26,7 @@ import xtools.core.HexUtils; import xtools.core.StringUtils; import xtools.core.UuidUtils; import xtools.core.encrypt.Md5Utils; +import xtools.core.enums.LogLevel; import xtools.core.extend.CheckUtils; import xtools.core.time.CalendarUtils; import xtools.extend.encrypt.Sm3Utils; @@ -264,7 +267,12 @@ public class SysFileOptServiceImpl implements SysFileOptService, BaseParams { return data; } } - storageService.get(data.getBucket(), data.getFilePath(), outputStream); + try { + storageService.get(data.getBucket(), data.getFilePath(), outputStream); + } catch (Exception e) { + LogBus.init(LogLevel.ERROR, LogBusBaseType.STORAGE).data(data).print(false).error(e).save(); + return null; + } return data; }