diff --git a/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/api/expander/FileConfigExpander.java b/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/api/expander/FileConfigExpander.java index f5f8e3b05..54b9fe955 100644 --- a/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/api/expander/FileConfigExpander.java +++ b/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/api/expander/FileConfigExpander.java @@ -37,6 +37,16 @@ import cn.stylefeng.roses.kernel.file.api.pojo.props.LocalFileProperties; */ public class FileConfigExpander { + /** + * 默认存储的bucket名称 + * + * @author fengshuonan + * @date 2021/6/15 21:54 + */ + public static String getDefaultBucket() { + return ConfigContext.me().getSysConfigValueWithDefault("SYS_FILE_DEFAULT_BUCKET", String.class, FileConstants.DEFAULT_BUCKET_NAME); + } + /** * 获取服务部署的机器host,例如http://localhost *
diff --git a/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/api/pojo/response/SysFileInfoResponse.java b/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/api/pojo/response/SysFileInfoResponse.java
index d5c05347c..f49e9b2b9 100644
--- a/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/api/pojo/response/SysFileInfoResponse.java
+++ b/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/api/pojo/response/SysFileInfoResponse.java
@@ -109,4 +109,9 @@ public class SysFileInfoResponse {
*/
private String filePath;
+ /**
+ * 文件访问的路径,如果是私密文件,则返回带鉴权的url,如果不是私密文件,则返回公网能直接访问的url
+ */
+ private String fileUrl;
+
}
diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/factory/FileInfoFactory.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/factory/FileInfoFactory.java
index f782dff23..98f2fdfc8 100644
--- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/factory/FileInfoFactory.java
+++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/factory/FileInfoFactory.java
@@ -35,6 +35,7 @@ import cn.stylefeng.roses.kernel.file.api.enums.FileLocationEnum;
import cn.stylefeng.roses.kernel.file.api.enums.FileStatusEnum;
import cn.stylefeng.roses.kernel.file.api.exception.FileException;
import cn.stylefeng.roses.kernel.file.api.exception.enums.FileExceptionEnum;
+import cn.stylefeng.roses.kernel.file.api.expander.FileConfigExpander;
import cn.stylefeng.roses.kernel.file.api.pojo.request.SysFileInfoRequest;
import cn.stylefeng.roses.kernel.file.modular.entity.SysFileInfo;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@@ -43,7 +44,6 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.math.BigDecimal;
-import static cn.stylefeng.roses.kernel.file.api.constants.FileConstants.DEFAULT_BUCKET_NAME;
import static cn.stylefeng.roses.kernel.file.api.constants.FileConstants.FILE_POSTFIX_SEPARATOR;
/**
@@ -80,7 +80,7 @@ public class FileInfoFactory {
String finalFileName = fileId + FILE_POSTFIX_SEPARATOR + fileSuffix;
// 桶名
- String fileBucket = DEFAULT_BUCKET_NAME;
+ String fileBucket = FileConfigExpander.getDefaultBucket();
// 存储文件
byte[] bytes;
diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java
index 7e7bfa496..b9fe2b5d7 100644
--- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java
+++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java
@@ -76,7 +76,6 @@ import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
-import static cn.stylefeng.roses.kernel.file.api.constants.FileConstants.DEFAULT_BUCKET_NAME;
import static cn.stylefeng.roses.kernel.file.api.constants.FileConstants.FILE_POSTFIX_SEPARATOR;
import static cn.stylefeng.roses.kernel.file.api.exception.enums.FileExceptionEnum.FILE_NOT_FOUND;
@@ -104,7 +103,7 @@ public class SysFileInfoServiceImpl extends ServiceImpl