Azure Blob:如何分离图像和视频

时间:2018-08-30 19:56:31

标签: azure azure-blob-storage

我在C#代码中使用ListBlobsSegmentedAsync列出所有Blob。是否有办法将图像和视频与ListBlobsSegmentedAsync的响应分开?

1 个答案:

答案 0 :(得分:0)

以下是this link中的一个示例。您应该能够优化代码以执行yield return,这将迭代地返回结果,而不会让调用代码等待所有结果返回。

public static String WildCardToRegular(String value)
{
   return "^" + Regex.Escape(value).Replace("\\*", ".*") + "$";
}

然后,将其与ListBlobsSegmentedAsync一起使用:

var blobList = await container.ListBlobsSegmentedAsync(blobFilePath, true, BlobListingDetails.None, 1000, token, null, null);
var items = blobList.Results.Select(x => x as CloudBlockBlob);

// Filter items by search pattern, if specify
if (!string.IsNullOrEmpty(searchPattern))
{
    items = items.Select(i =>
    {
        var filename = Path.GetFileName(i.Name);
        if (Regex.IsMatch(filename, WildCardToRegular(searchPattern), RegexOptions.IgnoreCase))
        {
            return i;
        }
    return null;
    }).ToList();
}