不支持streamreader异常URI格式

时间:2012-07-24 09:48:09

标签: c# azure azure-storage

我正在使用azure blob storage。我在存储中存储了一个txt文件,现在我试图通过以下方式阅读:

StreamReader reader = new StreamReader(Blob.Uri.AbsoluteUri); 
Blob containes the reference of the blob where txt file is stored.

但是我在这里得到例外(URI formats are not supported.)。我认为streamreader不支持URI格式化。有人可以给我一个更好的工作吗?

(我知道我们可以使用DowmloadToFile CloudBlob方法下载文件,然后使用Server.MapPath创建一个地址,并将该地址放入URI而不是URI。但是如果有的话其他更好的解决方案,请告诉我们)

1 个答案:

答案 0 :(得分:3)

查看WebClient.OpenReadWebClient.DownloadString方法。

您的代码看起来像这样:

var wc = new WebClient();
using(var sourceStream = wc.OpenRead(Blob.Uri.AbsoluteUri)){
    using(var reader = new StreamReader(sourceStream)){
         // Process
    }
}

或者如果文件很小(文本文件通常很小),:

var wc = new WebClient();
var fileContent = wc.DownloadString(Blob.Uri.AbsoluteUri);