我正在使用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。但是如果有的话其他更好的解决方案,请告诉我们)
答案 0 :(得分:3)
查看WebClient.OpenRead或WebClient.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);