Bad*_*der 4 azure azure-devops azure-storage-account
我想使用 C# 以编程方式获取存储帐户文件共享中上传的所有文件。
我尝试使用这段代码
IEnumerable fileList = cloudFileShare.GetRootDirectoryReference().ListFilesAndDirectories();
但它抛出错误“cloudfiledirectory”不包含“listfilesanddirectories”的定义。
我正在尝试循环文件共享并获取所有文件
此代码将获取 Azure Fileshare 中所有文件夹中的所有文件。
using Azure.Storage.Files.Shares;
using System;
using System.IO;
using System.Threading.Tasks;
namespace GetAllStorageAccountFiles
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
var x = GetShareFilesAsync();
x.Wait();
Console.WriteLine("Done!");
Console.ReadKey();
}
static async Task GetShareFilesAsync(string dirName = "")
{
string connectionString = "";
// Name of the share, directory
string shareName = "media";
// Get a reference to a share
ShareClient share = new ShareClient(connectionString, shareName);
ShareDirectoryClient directory = share.GetDirectoryClient(dirName);
var files = directory.GetFilesAndDirectories();
foreach (var file in files)
{
if (file.IsDirectory)
{
Console.WriteLine("Folder: " + Path.Combine(dirName, file.Name));
GetShareFilesAsync(Path.Combine(dirName, file.Name));
}
Console.WriteLine("File:" + Path.Combine(dirName, file.Name));
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据请求也添加了 Blob。
static async Task GetBlobFiles()
{
string blobstorageconnection = "DefaultEndpointsProtocol=https;AccountName=stomyuploadpublic;AccountKey=oSM1+BTK8cKbax6dxslT5Gm1aO9AjoH3oRTl43RkK6ZdcrLWB0FVAwoba1CopPycS0Ng3voVu6UR59UMK7ytsg==;EndpointSuffix=core.windows.net";
string blobContainer = "public";
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(blobstorageconnection);
// Create the blob client.
CloudBlobClient blobClient = cloudStorageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(blobContainer);
CloudBlobDirectory dirb = container.GetDirectoryReference(blobContainer);
BlobResultSegment resultSegment = await container.ListBlobsSegmentedAsync(string.Empty, true, BlobListingDetails.Metadata, 500, null, null, null);
foreach (var blobItem in resultSegment.Results)
{
var blob = (CloudBlob)blobItem;
Console.WriteLine(blob.Name);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3295 次 |
| 最近记录: |