public TencentCosStorageUploadProcessor(TencentCosStorageConfigure configure, CosXml client, IFileNameGenerator fileNameGenerator, ISubdirectoryGenerator subdirectoryGenerator, IFileValidator fileValidator) { Configure = configure; Client = client; FileNameGenerator = fileNameGenerator; SubdirectoryGenerator = subdirectoryGenerator; FileValidator = fileValidator; }
private static void RegClient(this IServiceCollection services, TencentCosStorageConfigure configure) { services.AddSingleton(new CosXmlConfig.Builder() .SetConnectionTimeoutMs(60000) //设置连接超时时间,单位毫秒,默认45000ms .SetReadWriteTimeoutMs(40000) //设置读写超时时间,单位毫秒,默认45000ms .IsHttps(true) //设置默认 HTTPS 请求 .SetAppid(configure.AppId) //设置腾讯云账户的账户标识 APPID .SetRegion(configure.Region) //设置一个默认的存储桶地域 .SetDebugLog(false) //显示日志 .Build()); services.AddSingleton <QCloudCredentialProvider>(sc => new DefaultQCloudCredentialProvider(configure.SecretId, configure.SecretKey, 600)); services.AddScoped <CosXml>(sc => new CosXmlServer(sc.GetRequiredService <CosXmlConfig>(), sc.GetRequiredService <QCloudCredentialProvider>())); }
public static IServiceCollection AddUploadTencentCOS(this IServiceCollection services, Action <TencentCosStorageConfigure> options) { services.AddUpload <TencentCosStorageUploadProcessor>(); var config = new TencentCosStorageConfigure(services); options?.Invoke(config); services.AddSingleton(config); services.RegClient(config); services.AddSingleton <UploadConfigure>(config); return(services); }