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