content: package me.flyray.rbac.oss;
  
  import me.flyray.rbac.service.SysConfigService;
  import me.flyray.rbac.utils.ConfigConstant;
  import me.flyray.rbac.utils.Constant;
  import me.flyray.rbac.utils.SpringContextUtils;
  
  /**
   * 文件上传Factory
   * @author chenshun
   * @email sunlightcs@gmail.com
   * @date 2017-03-26 10:18
   */
  public final class OSSFactory {
      private static SysConfigService sysConfigService;
  
      static {
          OSSFactory.sysConfigService = (SysConfigService) SpringContextUtils.getBean("sysConfigService");
      }
  
      public static CloudStorageService build(){
          //获取云存储配置信息
          CloudStorageConfig config = sysConfigService.getConfigObject(ConfigConstant.CLOUD_STORAGE_CONFIG_KEY, CloudStorageConfig.class);
  
          if(config.getType() == Constant.CloudService.QINIU.getValue()){
              return new QiniuCloudStorageService(config);
          }else if(config.getType() == Constant.CloudService.ALIYUN.getValue()){
              return new AliyunCloudStorageService(config);
          }else if(config.getType() == Constant.CloudService.QCLOUD.getValue()){
              return new QcloudCloudStorageService(config);
          }
  
          return null;
      }
  
  }
  