Example #1
0
        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());
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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());
        }