public IEnumerable <AzureBlobVirtualFile> GetImmediateFiles(string fromDirPath)
        {
            var dir = new AzureBlobVirtualDirectory(this, fromDirPath);

            return(Container.ListBlobs(fromDirPath == null ? null : fromDirPath + this.RealPathSeparator)
                   .OfType <CloudBlockBlob>()
                   .Select(q => new AzureBlobVirtualFile(this, dir).Init(q as CloudBlockBlob)));
        }
        public AzureBlobVirtualFiles(string connectionString, string containerName)
        {
            var storageAccount = CloudStorageAccount.Parse(connectionString);

            //containerName  is the name of Azure Storage Blob container
            Container = storageAccount.CreateCloudBlobClient().GetContainerReference(containerName);
            Container.CreateIfNotExists();
            rootDirectory = new AzureBlobVirtualDirectory(this, null);
        }
        public AzureBlobVirtualPathProvider(CloudStorageAccount storageAccount, string containerName, IAppHost appHost)
            : base(appHost)
        {
            this.StorageAccount = storageAccount;
            this.client = storageAccount.CreateCloudBlobClient();
            this.Container = client.GetContainerReference(containerName);
            this.Container.CreateIfNotExists();

            this.rootDirectory = new AzureBlobVirtualDirectory(this, null);
        }
        public AzureBlobVirtualPathProvider(CloudStorageAccount storageAccount, string containerName, IAppHost appHost,
                                            Action <CloudStorageAccount, CloudBlobClient, CloudBlobContainer> beforeCreate = null)
            : base(appHost)
        {
            this.StorageAccount = storageAccount;
            this.client         = storageAccount.CreateCloudBlobClient();
            this.Container      = client.GetContainerReference(containerName);
            if (beforeCreate != null)
            {
                beforeCreate(storageAccount, client, Container);
            }
            this.Container.CreateIfNotExists();

            this.rootDirectory = new AzureBlobVirtualDirectory(this, null);
        }
示例#5
0
        public AzureBlobVirtualDirectory(AzureBlobVirtualFiles pathProvider, string dirPath)
            : base(pathProvider)
        {
            this.PathProvider = pathProvider;
            this.DirPath      = dirPath;

            if (dirPath == "/" || dirPath.IsNullOrEmpty())
            {
                return;
            }

            var separatorIndex = dirPath.LastIndexOf(pathProvider.RealPathSeparator, StringComparison.Ordinal);

            ParentDirectory = new AzureBlobVirtualDirectory(pathProvider,
                                                            separatorIndex == -1 ? string.Empty : dirPath.Substring(0, separatorIndex));
        }
 public AzureBlobVirtualFiles(CloudBlobContainer container)
 {
     Container = container;
     Container.CreateIfNotExists();
     rootDirectory = new AzureBlobVirtualDirectory(this, null);
 }
        public IEnumerable<AzureBlobVirtualFile> GetImmediateFiles(string fromDirPath)
        {
            var dir = new AzureBlobVirtualDirectory(this, fromDirPath);

            return Container.ListBlobs((fromDirPath == null) ? null : fromDirPath + this.RealPathSeparator)
                .Where(q => q.GetType() == typeof(CloudBlockBlob))
                .Select(q => new AzureBlobVirtualFile(this, dir).Init(q as CloudBlockBlob));

        }
 public AzureBlobVirtualPathProvider(CloudBlobContainer container)
 {
     this.Container = container;
     this.Container.CreateIfNotExists();
     this.rootDirectory = new AzureBlobVirtualDirectory(this, null);
 }