有没有办法在Silverlight中没有Webclient的情况下下载文件?

问题描述:

我在一个情况下,我必须下载一个文件分割成字节组,并在该字节数组一些变化,也同时我有另外下载大文件,第一个文件合并到它在修改后的字节使用MediaElement进行播放和播放。有没有办法在Silverlight中没有Webclient的情况下下载文件?

使用Web客户端,我可以下载文件,但WebClient的只有我可以访问它的dwonloaded字节组文件下载完成时。

有没有一种方法来下载文件,并就在Silverlight飞修改文件的字节数组。

我不能使用插座,我只能从Web服务器下载文件。

从您宗师任何帮助表示赞赏

+0

你是什么意思的“在飞”?这听起来像是你觉得在更改下载的内容会做他们的方式返回给服务器自动...会发生在任何大块客户端/服务器通信。 WebClient也不例外。你可以在收到这些数据块时做一些事情;但是如果您希望一次获得一个字节,那么套接字通常不会发生什么情况。 – 2012-07-23 14:04:24

我看不出有什么是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