public void PutContent(IContentIdentifier contentIdentifier, ISource source)
        {
            if (Container.ContentExists(contentIdentifier))
            {
                return;
            }

            var uncommittedContentIdentifier = _contentIdentifierGenerator.GetUncommittedContentIdentifier(contentIdentifier);

            var content = (Container.ContentExists(uncommittedContentIdentifier) ? Container.GetContent(uncommittedContentIdentifier) : Container.CreateContent(uncommittedContentIdentifier));

            var contentStream = source.GetContentStream(contentIdentifier);

            content.LoadFromStream(contentStream.Stream);

            Container.CommitContentAsync(uncommittedContentIdentifier).Wait();
        }
Example #2
0
        public IMultiPartUploadInfo GetMultiPartUploadInfo(IContentIdentifier contentIdentifier, long size)
        {
            _authorizationChecker.CheckUserIsInRole(Security.Roles.Replicator);

            var container = GetContainer();

            if (container.ContentExists(contentIdentifier))
            {
                var existingContentName = _contentNameProvider.GetContentName(contentIdentifier);

                _committedContentNamesRepository.EnsureContent(_containerName, existingContentName, contentIdentifier.ModifiedMoment, CancellationToken.None);

                return(null);
            }

            CheckContainerState(false);

            var uncommittedContentIdentifier = _contentIdentifierGenerator.GetUncommittedContentIdentifier(contentIdentifier);

            var content = (container.ContentExists(uncommittedContentIdentifier) ? container.GetContent(uncommittedContentIdentifier) : container.CreateContent(uncommittedContentIdentifier)) as IURLContent;

            return(content.GetMultiPartUploadInfo(URLExpirySeconds, size));
        }