2012-07-24 109 views
0

我正在使用azure blob storage。我存儲在存儲一個txt文件,現在我想通過讀它:流式讀取器異常URI格式不受支持

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合成。任何人都可以爲此給我一個更好的工作嗎?

(我知道一個我們可以利用的CloudBlobDowmloadToFile方法來下載文件,然後使用創建使用Server.Mappath一個地址,並把該地址,而不是URI。但如果這個那麼任何其他更好的解決方案,請讓我知道)

回答

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);