java.lang.Object
org.miaixz.bus.starter.storage.StorageService
存储服务提供类,用于管理和创建各种文件存储服务提供者实例。 该类维护了一个存储组件的缓存,支持通过配置或手动注册方式添加存储组件。
该类支持多种文件存储方式,包括但不限于:
- 云存储服务:阿里云OSS、腾讯云COS、华为云OBS、亚马逊S3、七牛云、又拍云等
- 本地存储:本地文件系统
- 网络存储:FTP、SFTP、WebDAV等
- 代码托管存储:GitLab
使用示例:
// 创建配置
StorageProperties properties = new StorageProperties();
// 创建服务
StorageProviderService service = new StorageProviderService(properties);
// 获取阿里云OSS存储服务提供者
Provider ossProvider = service.require(Registry.ALIYUN);
// 上传文件
ossProvider.upload("文件路径", "文件内容");
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionorg.miaixz.bus.cache.CacheX缓存接口,用于存储文件元数据等临时数据。存储配置属性,包含各种存储组件的配置信息。 -
Constructor Summary
ConstructorsConstructorDescriptionStorageService(StorageProperties properties) 使用默认缓存创建存储服务提供者实例。StorageService(StorageProperties properties, org.miaixz.bus.cache.CacheX CacheX) 使用指定缓存创建存储服务提供者实例。 -
Method Summary
-
Field Details
-
properties
存储配置属性,包含各种存储组件的配置信息。 -
CacheX
public org.miaixz.bus.cache.CacheX CacheX缓存接口,用于存储文件元数据等临时数据。
-
-
Constructor Details
-
StorageService
使用默认缓存创建存储服务提供者实例。- Parameters:
properties- 存储配置属性,不能为null
-
StorageService
使用指定缓存创建存储服务提供者实例。- Parameters:
properties- 存储配置属性,不能为nullCacheX- 缓存实现,不能为null
-
-
Method Details
-
register
public static void register(org.miaixz.bus.storage.Registry type, org.miaixz.bus.storage.Context context) 注册存储组件到缓存中。 如果已存在相同类型的组件,则抛出异常。- Parameters:
type- 存储组件类型,不能为nullcontext- 存储组件上下文,不能为null- Throws:
org.miaixz.bus.core.lang.exception.InternalException- 如果已存在相同类型的组件
-
require
public org.miaixz.bus.storage.Provider require(org.miaixz.bus.storage.Registry type) 根据存储组件类型获取对应的存储服务提供者实例。 首先从缓存中查找,如果不存在则从配置中获取。- Parameters:
type- 存储组件类型,不能为null- Returns:
- 对应的存储服务提供者实例
- Throws:
org.miaixz.bus.core.lang.exception.InternalException- 如果找不到对应的存储组件
-