/// <summary>
        /// 加载阿里云oss服务
        /// </summary>
        /// <param name="services"></param>
        /// <param name="action">委托</param>
        public static IServiceCollection AddAliYunStorage(this IServiceCollection services,
                                                          Action <ALiYunStorageConfig> action)
        {
            var aliyunConfig = new ALiYunStorageConfig();

            action.Invoke(aliyunConfig);
            return(AddAliYunStorage(services, () => aliyunConfig));
        }
Esempio n. 2
0
        /// <summary>
        /// 得到空间名
        /// </summary>
        /// <param name="qiNiuStorageConfig">七牛配置</param>
        /// <param name="bucket">空间名</param>
        /// <param name="optBucket">目标空间</param>
        /// <returns></returns>
        internal static string GetBucket(ALiYunStorageConfig qiNiuStorageConfig, string bucket, string optBucket)
        {
            if (!string.IsNullOrEmpty(optBucket))
            {
                return(optBucket);
            }

            return(GetBucket(qiNiuStorageConfig, bucket));
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        public MoveFileParamValidator(ALiYunStorageConfig _aLiYunConfig)
        {
            RuleFor(x => x.OptBucket).Must(x => !string.IsNullOrEmpty(x)).WithMessage("目标空间不能为空");
            RuleFor(x => x.SourceKey).Must(x => !string.IsNullOrEmpty(x)).WithMessage("源空间key不能为空");
            RuleFor(x => x.OptKey).Must(x => !string.IsNullOrEmpty(x)).WithMessage("目标文件key不能为空");

            RuleFor(x => x.OptKey)
            .Must((item, _) => !(Core.Tools.GetBucket(_aLiYunConfig, item.PersistentOps.Bucket) ==
                                 Core.Tools.GetBucket(_aLiYunConfig, item.PersistentOps.Bucket, item.OptBucket) && item.SourceKey == item.OptKey))
            .WithMessage("目标文件不能与源文件一致");
        }
Esempio n. 4
0
        /// <summary>
        /// 得到空间名
        /// </summary>
        /// <param name="aliyunConfig">阿里云配置</param>
        /// <param name="bucket">空间名</param>
        /// <returns></returns>
        internal static string GetBucket(ALiYunStorageConfig aliyunConfig, string bucket)
        {
            if (string.IsNullOrEmpty(bucket) && string.IsNullOrEmpty(aliyunConfig.DefaultBucket))
            {
                throw new BusinessException("请选择存储空间");
            }

            if (!string.IsNullOrEmpty(bucket))
            {
                return(bucket);
            }

            return(aliyunConfig.DefaultBucket);
        }
Esempio n. 5
0
        /// <summary>
        /// 得到空间区域
        /// </summary>
        /// <param name="aliyunConfig">阿里云存储配置</param>
        /// <param name="zone">自定义空间区域</param>
        /// <param name="defaultZone">默认空间设置</param>
        /// <returns></returns>
        internal static ZoneEnum GetZone(ALiYunStorageConfig aliyunConfig, int?zone, Func <ZoneEnum> defaultZone = null)
        {
            if (zone == null && aliyunConfig.DefaultZones == null)
            {
                if (defaultZone == null)
                {
                    throw new BusinessException("请选择存储空间区域信息");
                }

                return(defaultZone.Invoke());
            }

            if (zone != null)
            {
                return((ZoneEnum)zone.Value);
            }

            return(aliyunConfig.DefaultZones.Value);
        }
Esempio n. 6
0
        /// <summary>
        /// 得到分片大小
        /// </summary>
        /// <param name="aliyunConfig">阿里云配置</param>
        /// <param name="chunkUnit">分片大小</param>
        /// <param name="defaultChunkUnit">默认分片大小</param>
        /// <returns></returns>
        internal static ChunkUnit GetChunkUnit(
            ALiYunStorageConfig aliyunConfig,
            ChunkUnit chunkUnit,
            Func <ChunkUnit> defaultChunkUnit = null)
        {
            if (chunkUnit == null && aliyunConfig.ChunkUnit == null)
            {
                if (defaultChunkUnit == null)
                {
                    throw new BusinessException <string>("未设置分片大小", HttpStatus.Err.Name);
                }

                return(defaultChunkUnit.Invoke());
            }

            if (chunkUnit != null)
            {
                return(chunkUnit);
            }

            return(aliyunConfig.ChunkUnit);
        }
Esempio n. 7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="aliyunConfig"></param>
 public StorageProvider(ALiYunStorageConfig aliyunConfig) : base(aliyunConfig)
 {
     _aLiYunConfig = aliyunConfig;
 }
Esempio n. 8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="aliyunConfig"></param>
 public StorageProvider(ILogger <StorageProvider> logger, ALiYunStorageConfig aliyunConfig) : this(
         aliyunConfig, logger)
 {
 }
Esempio n. 9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="aliyunConfig"></param>
 public StorageProvider(ALiYunStorageConfig aliyunConfig, ILogger logger) : base(aliyunConfig)
 {
     _logger       = logger;
     _aLiYunConfig = aliyunConfig;
 }
Esempio n. 10
0
 public PictureProvider(ILogger <PictureProvider> logger, ALiYunStorageConfig aLiYunStorageConfig) : base(
         aLiYunStorageConfig)
 {
     this._logger     = logger;
     _storageProvider = new StorageProvider(aLiYunStorageConfig, logger);
 }
 public BucketProvider(ALiYunStorageConfig aliyunConfig)
 {
     _aLiYunConfig = aliyunConfig;
 }
Esempio n. 12
0
 public BucketProvider(ALiYunStorageConfig aliyunConfig, ILogger <BucketProvider> logger = null)
 {
     _logger       = logger;
     _aLiYunConfig = aliyunConfig;
 }
Esempio n. 13
0
 /// <summary>
 ///
 /// </summary>
 public BaseStorageProvider(ALiYunStorageConfig aLiYunStorageConfig)
 {
     _aLiYunStorageConfig = aLiYunStorageConfig;
     aLiYunStorageConfig.Check("阿里云存储配置异常", HttpStatus.Err.Name);
 }
 public PictureProvider(ALiYunStorageConfig aLiYunStorageConfig) : base(aLiYunStorageConfig)
 {
     _storageProvider = new StorageProvider(aLiYunStorageConfig);
 }