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; }
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; }