2012-07-23 149 views
0

我在一個情況下,我必須下載一個文件分割成字節組,並在該字節數組一些變化,也同時我有另外下載大文件,第一個文件合併到它在修改後的字節使用MediaElement進行播放和播放。有沒有辦法在Silverlight中沒有Webclient的情況下下載文件?

使用Web客戶端,我可以下載文件,但WebClient的只有我可以訪問它的dwonloaded字節組文件下載完成時。

有沒有一種方法來下載文件,並就在Silverlight飛修改文件的字節數組。

我不能使用插座,我只能從Web服務器下載文件。

從您宗師任何幫助表示讚賞

+0

你是什麼意思的「在飛」?這聽起來像是你覺得在更改下載的內容會做他們的方式返回給服務器自動...會發生在任何大塊客戶端/服務器通信。 WebClient也不例外。你可以在收到這些數據塊時做一些事情;但是如果您希望一次獲得一個字節,那麼套接字通常不會發生什麼情況。 – 2012-07-23 14:04:24

回答

1

我看不出有什麼是Web客戶端的問題。

您應該複製的Web客戶的結果字節數組。 一旦下載了每個文件,就可以合併這些字節數組。

byte[] bytes; 
public void DownloadFile() 
{ 
    WebClient webClient = new WebClient(); 
    webClient.OpenReadCompleted += (s, e) => 
     { 
      Stream stream = e.Result; 
      MemoryStream ms = new MemoryStream(); 
      stream.CopyTo(ms); 
      bytes = ms.ToArray(); 
     }; 
    webClient.OpenReadAsync(new Uri("http://myurl.com/file.zip"), UriKind.Absolute); 
} 
+0

這是我的問題,我不能等待第二個文件被下載。我的第一個文件只有150kb,第二個文件是大約400mb。 webclient的問題在於,只有在下載完所有內容後才能訪問流。 – 2012-07-27 12:50:12

+0

我不知道我明白你想要做什麼。你不能同時啓動2個Web客戶端嗎?你能更準確地知道你想達到什麼嗎? – 2012-07-27 12:55:52

相關問題