我正在使用azure blob存储
。我在存储中存储了一个 txt 文件,现在我正在尝试读取它:
StreamReader reader = new StreamReader(Blob.Uri.AbsoluteUri);
Blob containes the reference of the blob where txt file is stored.
但是我在这里遇到异常(不支持URI格式。)
。我认为 streamreader
不支持 URI 格式。有人能给我一个更好的工作环境吗?
(我知道我们可以使用CloudBlob
的DowmloadToFile
方法来下载文件,然后使用Server.MapPath创建一个地址,并使用该地址而不是URI .但如果有任何其他更好的解决方案,请告诉我)
最佳答案
看看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);
关于c# - 不支持流读取器异常 URI 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11628254/