コード例 #1
0
 public IEnumerable <IContentIdentifier> GetContentIdentifiers(IEnumerable <string> contentNames)
 {
     return
         (contentNames
          .Select(x => _contentNameProvider.GetContentIdentifier(x))
          .Where(x => x != null));
 }
コード例 #2
0
        public IMultiPartUploadInfo GetMultiPartUploadInfo(int expirySeconds, long size)
        {
            var url = GetURL(expirySeconds, Amazon.S3.HttpVerb.PUT);
            var contentIdentifier  = _contentNameProvider.GetContentIdentifier(_keyName.Split('/').Last());
            var uploadIdentifier   = _uploadIdentifierProvider.GetUploadIdentifier(contentIdentifier, url);
            var httpPartUploadInfo = _httpPartUploadInfoFactory(null, url, null);

            return(_multiPartUploadInfoFactory("PUT", 0, new[] { httpPartUploadInfo }, null, uploadIdentifier));
        }
コード例 #3
0
        public IMultiPartUploadInfo GetMultiPartUploadInfo(int expirySeconds, long size)
        {
            var url = _transferServiceProvider.GetURL(DirName, FileName, "upload", expirySeconds);
            var contentIdentifier  = _contentNameProvider.GetContentIdentifier(FileName);
            var uploadIdentifier   = _uploadIdentifierProvider.GetUploadIdentifier(contentIdentifier, null);
            var httpPartUploadInfo = _httpPartUploadInfoFactory(null, url, null);

            return(_multiPartUploadInfoFactory("PUT/FORMFILE", 0, new[] { httpPartUploadInfo }, null, uploadIdentifier));
        }
コード例 #4
0
 private IEnumerable <string> GetChronologicallyOrderedContentNames(IEnumerable <IContentNamesVaultItem> vaultItems, string prefix, CancellationToken cancellationToken)
 {
     return
         (vaultItems
          .AsParallel()
          .SelectMany(y => GetContentNames(y, prefix, cancellationToken))
          .Select(y => new { ContentName = y, ContentIdentifier = _contentNameProvider.GetContentIdentifier(y) })
          .OrderBy(y => y.ContentIdentifier.ModifiedMoment)
          .ThenBy(y => y.ContentIdentifier.Guid)
          .Select(y => y.ContentName)
          .UniqueOnOrdered());
 }
コード例 #5
0
        public IMultiPartUploadInfo GetMultiPartUploadInfo(int expirySeconds, long size)
        {
            var url = GetURL(expirySeconds, Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPermissions.Write);
            var contentIdentifier = _contentNameProvider.GetContentIdentifier(_delegateContent.Name);

            if (size <= MaxSinglePartUploadSize)
            {
                var uploadIdentifier   = _uploadIdentifierProvider.GetUploadIdentifier(contentIdentifier, null);
                var httpPartUploadInfo = GetHttpPartUploadInfo(null, url);
                return(_multiPartUploadInfoFactory("PUT", 0, new[] { httpPartUploadInfo }, null, uploadIdentifier));
            }
            else
            {
                var uploadIdentifier    = _uploadIdentifierProvider.GetUploadIdentifier(contentIdentifier, url);
                var httpPartUploadInfos = GetHttpPartUploadInfos(url, size);
                return(_multiPartUploadInfoFactory("PUT", PartUploadSize, httpPartUploadInfos, null, uploadIdentifier));
            }
        }