Exemplo n.º 1
0
 public AliyunOssStorageChunkedUploadProcessor(ChunkedUploadAliyunOssStorageConfigure configure, IFileValidator fileValidator, IOss client, IMemoryCache memoryCache, IFileNameGenerator fileNameGenerator, ISubdirectoryGenerator subdirectoryGenerator)
 {
     Configure             = configure;
     FileValidator         = fileValidator;
     MemoryCache           = memoryCache;
     FileNameGenerator     = fileNameGenerator;
     SubdirectoryGenerator = subdirectoryGenerator;
     Client = client;
 }
Exemplo n.º 2
0
        public static IServiceCollection AddChunkedUploadAliyunOSS(this IServiceCollection services, Action <ChunkedUploadAliyunOssStorageConfigure> options)
        {
            services.AddUpload <AliyunOssStorageChunkedUploadProcessor>();
            services.AddScoped(typeof(IMergeHandler), typeof(MergeHandler));
            services.AddScoped <ICheckChunksProcessor, AliyunOssStorageCheckChunksProcessor>();
            services.AddScoped <ICheckChunkProcessor, AliyunOssStorageCheckChunkProcessor>();
            services.AddScoped <IUploadCompletedHandler, ChunkUploadCompletedHandler>();
            services.AddScoped <IMergeProcessor, AliyunOssStorageMergeProcessor>();
            var config = new ChunkedUploadAliyunOssStorageConfigure(services);

            options?.Invoke(config);
            services.AddSingleton(config);
            services.AddSingleton <IOss>(string.IsNullOrWhiteSpace(config.SecurityToken) ? new OssClient(config.Endpoint, config.AccessId, config.AccessKeySecret) : new OssClient(config.Endpoint, config.AccessId, config.AccessKeySecret, config.SecurityToken));
            services.AddSingleton <UploadConfigure>(config);
            return(services);
        }
 public AliyunOssStorageMergeProcessor(ChunkedUploadAliyunOssStorageConfigure configure, IOss client, IMemoryCache memoryCache)
 {
     Configure   = configure;
     MemoryCache = memoryCache;
     Client      = client;
 }