首页 > 解决方案 > 从 Azure Blob 存储读取文本文件值

问题描述

我正在尝试读取.txt我拥有的文件的值azure blob storage

到目前为止我的代码:

BlobServiceClient BlobServiceClient = new BlobServiceClient("connectionstring");
var containerClient = BlobServiceClient.GetBlobContainerClient("staging");
var blobClient2 = containerClient.GetBlockBlobClient($"myfile.txt");
var date = blobClient2.DownloadAsync().Result;

但这会返回元数据,我如何获取.txt文件中的实际文本?

标签: c#azureazure-blob-storage

解决方案


1.适用于 .NET 的 Azure Blob 存储客户端库 v12

var blobClient2 = container.GetBlockBlobClient("test.txt");
BlobDownloadInfo download = blobClient2.Download();
var content = download.Content;
using (var streamReader = new StreamReader(content))
{
    while (!streamReader.EndOfStream)
    {
        var line = await streamReader.ReadLineAsync();
        Console.WriteLine(line);
    }
}

在此处输入图像描述

BlobDownloadInfo具有内容属性。

2.适用于 .NET 的 Azure Blob 存储客户端库 v11

CloudStorageAccount storageAccount = CloudStorageAccount storageAccount = CloudStorageAccount.Parse("StorageConnectionString");
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(containerName);
CloudBlockBlob blockBlob = container.GetBlockBlobReference(filename);

var content = await blockBlob.DownloadTextAsync();

DownloadTextAsync()用于旧版本。


推荐阅读