---
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/8a2cc328-491e-4575-99ec-215b0232c285"
publicId: "8a2cc328-491e-4575-99ec-215b0232c285"
---

# 存储标识类介绍

用来标记存储类型，整个E10系统通用。  
系统自带的标识有本地存储、腾讯云存储、阿里云存储、华为云存储、s3协议存储、fastdfs存储、hdfs存储。除此之外，可以使用对应的扩展方法，添加自定义存储标识，应用于整个系统的文件操作。

### **存储标识类**

***1. 类路径***  
[com.weaver.teams.storage](http://com.weaver.teams.storage).constant.FileStorage

***2. 类属性介绍***

```
// 存储名称，默认与storageKey相同
private final String storageName;

// 存储标识英文名
private final String storageKey;

// 存储标识类型
private final Integer instanceType;
```

### **使用场景**

***1. 新增自定义存储标识***

> - 需要定义为公共不可变静态变量，保证一次定义始终不变且全局统一
> - 入参1：是uuid字符串常量，可以用在线工具随机生成一个
> - 入参2：就是自定义存储的英文名

```
public static FileStorage of(String uuidStr, String storageKey) {};
```

```
// 正确示例代码
public class GlobalStorageUtils {

    // 自定义存储的英文名
    public final static String CUSTOM_STORAGE_KEY = "xxxxxxxxx";

    // 第一个入参数是uuid常量字符串
    public final static FileStorage CUSTOM_STORE = FileStorage.of("b60f41fb-6db7-464b-aecb-c7e0366ce2e7", CUSTOM_STORAGE_KEY);

}

// 错误示例代码
public class GlobalStorageUtils {

    public final static String CUSTOM_STORAGE_KEY = "xxxxxxxxx";

    // 错误点，不能直接将生成uuid的方法作为入参，会导致每次项目重启后，存储标识发变化。
    public final static FileStorage CUSTOM_STORE = FileStorage.of(UUID.randomUUID().toString(), CUSTOM_STORAGE_KEY);

}
```

***2. 通过存储标识英文名获取存储标识对象***

```
public static FileStorage getByStorageKey(String storageKey){};
```

```
// 示例代码
public void test(){
    FileStorage fileStorage= FileStorage.getByStorageKey("customStorage");
}
```

***3. 通过存储标识类型获取存储标识对象***

```
public static FileStorage getByInstanceType(Integer instanceType) {};
```

```
// 示例代码
public void test(){
    FileStorage fileStorage= FileStorage.getByInstanceType();
}
```
