2

我试图在“10”前缀中获取所有内容,如下所示:

https://ideesstorage.blob.core.windows.net/development-fotosproyectos/10/29.jpg

到目前为止,我只能使用 directory.Uri 来获取它:

https://ideesstorage.blob.core.windows.net/development-fotosproyectos/10/

以下代码按预期获取容器中的所有目录,而不是前缀中的文件名:

        var query = blobContainer.ListBlobs(null, false, BlobListingDetails.None);
        foreach (IListBlobItem item in query)
        {

            if (item.GetType() == typeof(CloudBlobDirectory))
            {
                CloudBlobDirectory directory = (CloudBlobDirectory)item;

                Console.WriteLine("Directory: {0}-{1}", directory.Uri, directory.Prefix);
            }
        }

我想要的是获取指定前缀中每个文件的 Uri。

在此先感谢您的时间。

4

1 回答 1

4

看看下面的代码:

    static void ListBlobsInFolder()
    {
        var account = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);
        var blobClient = account.CreateCloudBlobClient();
        var containerName = "<container-name>";
        var folderName = "<folder-name>";
        var container = blobClient.GetContainerReference(containerName);
        var query = container.ListBlobs(prefix:folderName, useFlatBlobListing:true, blobListingDetails:BlobListingDetails.None);
        foreach (var item in query)
        {
            Console.WriteLine(item.Uri);
        }
    }

基本上,您需要传递参数和as (在您true的情况下)。useFlatBlobListingname of the folderprefix"10"

于 2015-08-21T07:18:10.280 回答