示例#1
0
        private static StandaloneAzureBlobResultSegment FindFilesHierarchical(
            string containerDirectory,
            string searchDirectory,
            string prefix,
            int?maxResults,
            int numberToSkip)
        {
            var directories = new DirectoryInfo(searchDirectory ?? containerDirectory).EnumerateDirectories((prefix ?? "") + "*", SearchOption.TopDirectoryOnly)
                              .Where(f => !f.Name.EndsWith(".meta"))
                              .Select(f => (IAzureListBlobItem) new StandaloneAzureBlobDirectory(containerDirectory, f.FullName.Substring(containerDirectory.Length + 1)));
            var files = new DirectoryInfo(searchDirectory ?? containerDirectory).EnumerateFiles((prefix ?? "") + "*", SearchOption.TopDirectoryOnly)
                        .Where(f => !(f.DirectoryName ?? "").EndsWith(".meta"))
                        .Select(f =>
                                (IAzureListBlobItem) new StandaloneAzureBlockBlob(
                                    containerDirectory,
                                    f.FullName.Substring(containerDirectory.Length + 1)));

            var combined = directories.Concat(files)
                           .Skip(numberToSkip)
                           .Take(maxResults.HasValue ? maxResults.Value : Int32.MaxValue)
                           .ToList();

            var resultSegment = new StandaloneAzureBlobResultSegment(
                combined,
                combined.Any()
                    ? new BlobContinuationToken
            {
                NextMarker = DetermineNextMarker(numberToSkip, combined.Count)
            }
                    : null);

            return(resultSegment);
        }
示例#2
0
        private static StandaloneAzureBlobResultSegment FindFilesFlattened(
            string containerDirectory,
            string searchDirectory,
            string prefix,
            int?maxResults,
            int numberToSkip)
        {
            var files = new DirectoryInfo(searchDirectory ?? containerDirectory).EnumerateFiles((prefix ?? "") + "*", SearchOption.AllDirectories)
                        .Where(f => !(f.DirectoryName ?? "").EndsWith(".meta"))
                        .Skip(numberToSkip)
                        .Take(maxResults.HasValue ? maxResults.Value : Int32.MaxValue)
                        .Select(f =>
                                new StandaloneAzureBlockBlob(
                                    containerDirectory,
                                    f.FullName.Substring(containerDirectory.Length + 1)))
                        .ToList();

            var resultSegment = new StandaloneAzureBlobResultSegment(
                files,
                new BlobContinuationToken
            {
                NextMarker = DetermineNextMarker(numberToSkip, files.Count)
            });

            return(resultSegment);
        }
示例#3
0
        private static StandaloneAzureBlobResultSegment FindFilesFlattened(
            string containerDirectory,
            string searchDirectory,
            string prefix,
            int? maxResults,
            int numberToSkip)
        {
            var files = new DirectoryInfo(searchDirectory ?? containerDirectory).EnumerateFiles((prefix ?? "") + "*", SearchOption.AllDirectories)
                .Where(f => !(f.DirectoryName ?? "").EndsWith(".meta"))
                .Skip(numberToSkip)
                .Take(maxResults.HasValue ? maxResults.Value : Int32.MaxValue)
                .Select(f =>
                    new StandaloneAzureBlockBlob(
                        containerDirectory,
                        f.FullName.Substring(containerDirectory.Length + 1)))
                .ToList();

            var resultSegment = new StandaloneAzureBlobResultSegment(
                files,
                new BlobContinuationToken
                {
                    NextMarker = DetermineNextMarker(numberToSkip, files.Count)
                });
            return resultSegment;
        }
        private StandaloneAzureBlobResultSegment FindFilesHierarchical(string prefix, int? maxResults, int numberToSkip)
        {
            var directories = new DirectoryInfo(_containerDirectory).EnumerateDirectories((prefix ?? "") + "*", SearchOption.TopDirectoryOnly)
                .Where(f => !f.Name.EndsWith(".meta"))
                .Select(f => (IAzureListBlobItem) new StandaloneAzureBlobDirectory(f.FullName));
            var files = new DirectoryInfo(_containerDirectory).EnumerateFiles((prefix ?? "") + "*", SearchOption.TopDirectoryOnly)
                .Where(f => !(f.DirectoryName ?? "").EndsWith(".meta"))
                .Select(f => (IAzureListBlobItem) new StandaloneAzureBlockBlob(new Uri(f.FullName)));

            var combined = directories.Concat(files)
                .Skip(numberToSkip)
                .Take(maxResults.HasValue ? maxResults.Value : Int32.MaxValue)
                .ToList();

            var resultSegment = new StandaloneAzureBlobResultSegment(
                combined,
                new BlobContinuationToken
                {
                    NextMarker = DetermineNextMarker(numberToSkip, combined.Count)
                });
            return resultSegment;
        }