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;
}