public bool ExistsDirectory(string directoryName) { directoryName = StorageUtils.NormalizeDirectoryName(directoryName); CloudBlobDirectory directory = PublicContainer.GetDirectoryReference(directoryName); return(directory.ListBlobsSegmentedAsync(null).GetAwaiter().GetResult().Results.Any()); }
public void RenameDirectory(string directoryName, string newDirectoryName) { CreateDirectory(newDirectoryName); directoryName = StorageUtils.NormalizeDirectoryName(directoryName); newDirectoryName = StorageUtils.NormalizeDirectoryName(newDirectoryName); CloudBlobDirectory directory = PublicContainer.GetDirectoryReference(directoryName); foreach (IListBlobItem item in directory.ListBlobsSegmentedAsync(null).GetAwaiter().GetResult().Results) { string fileName = string.Empty; if (item.GetType() == typeof(CloudBlockBlob)) { CloudBlockBlob blob = (CloudBlockBlob)item; fileName = Path.GetFileName(blob.Name); Copy(blob.Name, GxFileType.Public, newDirectoryName + fileName, GxFileType.Public); Delete(blob.Name, GxFileType.Public); } else if (item.GetType() == typeof(CloudPageBlob)) { CloudPageBlob pageBlob = (CloudPageBlob)item; fileName = Path.GetFileName(pageBlob.Name); Copy(directoryName + fileName, GxFileType.Public, newDirectoryName + fileName, GxFileType.Public); } else if (item.GetType() == typeof(CloudBlobDirectory)) { CloudBlobDirectory dir = (CloudBlobDirectory)item; RenameDirectory(directoryName + dir.Prefix, newDirectoryName + dir.Prefix); } } DeleteDirectory(directoryName); }
public void DeleteDirectory(string directoryName) { directoryName = StorageUtils.NormalizeDirectoryName(directoryName); CloudBlobDirectory directory = PublicContainer.GetDirectoryReference(directoryName); foreach (IListBlobItem item in directory.ListBlobsSegmentedAsync(null).GetAwaiter().GetResult().Results) { if (item.GetType() == typeof(CloudBlockBlob)) { CloudBlockBlob blob = (CloudBlockBlob)item; blob.DeleteAsync().GetAwaiter().GetResult(); } else if (item.GetType() == typeof(CloudPageBlob)) { CloudPageBlob pageBlob = (CloudPageBlob)item; pageBlob.DeleteAsync().GetAwaiter().GetResult(); } else if (item.GetType() == typeof(CloudBlobDirectory)) { CloudBlobDirectory dir = (CloudBlobDirectory)item; DeleteDirectory(dir.Prefix); } } }
public List <string> GetSubDirectories(string directoryName) { List <string> directories = new List <string>(); directoryName = StorageUtils.NormalizeDirectoryName(directoryName); CloudBlobDirectory directory = PublicContainer.GetDirectoryReference(directoryName); foreach (IListBlobItem item in directory.ListBlobsSegmentedAsync(null).GetAwaiter().GetResult().Results) { if (item.GetType() == typeof(CloudBlobDirectory)) { CloudBlobDirectory dir = (CloudBlobDirectory)item; directories.Add(dir.Prefix); } } return(directories); }
public List <string> GetFiles(string directoryName, string filter = "") { List <string> files = new List <string>(); directoryName = StorageUtils.NormalizeDirectoryName(directoryName); CloudBlobDirectory directory = PublicContainer.GetDirectoryReference(directoryName); foreach (IListBlobItem item in directory.ListBlobsSegmentedAsync(null).GetAwaiter().GetResult().Results) { if (item.GetType() == typeof(CloudBlockBlob)) { CloudBlockBlob blob = (CloudBlockBlob)item; if (String.IsNullOrEmpty(filter) || blob.Name.Contains(filter)) { files.Add(blob.Name); } } } return(files); }