コード例 #1
0
        public IDocumentMultiPartUploadInfo GetMultiPartUploadInfoOrDocumentIdentifier(string hash, string extention, long size)
        {
            _authorizationChecker.CheckUserIsInRole(Security.Roles.Operator);

            var container = GetContainer();

            var existingContentIdentifier = GetExistingContentIdentifier(container, hash, extention);

            if (existingContentIdentifier != null)
            {
                var existingDocumentIdentifier = _documentIdentifierProvider.GetDocumentIdentifier(existingContentIdentifier);
                var existingContentName        = _contentNameProvider.GetContentName(existingContentIdentifier);

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

                return(_documentMultiPartUploadInfoFactory(null, existingDocumentIdentifier));
            }

            CheckContainerState(true);

            var newContentIdentifier = GenerateUniqueContentIdentifier(container, hash, extention);

            var content = container.CreateContent(newContentIdentifier) as IURLContent;

            var multiPartUploadInfo = content.GetMultiPartUploadInfo(URLExpirySeconds, size);

            return(_documentMultiPartUploadInfoFactory(multiPartUploadInfo, null));
        }
コード例 #2
0
        public bool ContentExists(IContentIdentifier contentIdentifier)
        {
            var contentName = _contentNameProvider.GetContentName(contentIdentifier);

            return(ContentExists(contentName));
        }