public async Task PublishAsync(Storage storage, IMediaElement element) { IStorageProvider storageProvider = StorageProviderFactory.GetStorageProvider( _serviceProvider, storage.StorageType); using (Stream stream = storageProvider.GetStream( storage.StorageId, storage.StorageAccessKey, StorageMode.Internal, storage.DownloadHost, element.FilePath, element.GetFileName())) { if (stream == null) { return; } await storageProvider.UploadFileAsync( stream, storage.PublishStorageId, storage.PublishStorageAccessKey, StorageMode.External, storage.PublishHost, element.FilePath, element.GetFileName()); } }
public async Task UploadFileAsync(Storage storage, IMediaElement element, Stream stream) { IStorageProvider storageProvider = StorageProviderFactory.GetStorageProvider( _serviceProvider, storage.StorageType); await storageProvider.UploadFileAsync(stream, storage.StorageId, storage.StorageAccessKey, StorageMode.Internal, storage.DownloadHost, element.FilePath, element.GetFileName()); if (element.IsPublished) { await this.PublishAsync(storage, element); } }
public async Task RevokePublishAsync(Storage storage, IMediaElement element) { IStorageProvider storageProvider = StorageProviderFactory.GetStorageProvider( _serviceProvider, storage.StorageType); await storageProvider.RemoveFileAsync(storage.PublishStorageId, storage.PublishStorageAccessKey, StorageMode.External, storage.PublishHost, element.FilePath, element.GetFileName()); }