0

私は、1 つのファイルを Bytearray にダウンロードし、そのバイト配列にいくつかの変更を加えなければならない状況にあり、同時に、別の大きなファイルをダウンロードし、最初のファイルをその場で変更されたバイトとマージする必要があります。 MediaElement を使用して再生します。

Webclient を使用してファイルをダウンロードできますが、Webclient は、ファイルのダウンロードが完了したときにのみ、ダウンロードされたバイト配列にアクセスできます。

ファイルをダウンロードして、Silverlight でその場でファイルのバイト配列を変更する方法はありますか。

ソケットを使用できません。Web サーバーからファイルをダウンロードすることしかできません。

達人からの助けに感謝します

4

1 に答える 1

1

Webclient の何が問題なのかわかりません。

WebClients の結果をバイト配列でコピーする必要があります。すべてのファイルがダウンロードされたら、それらのバイト配列をマージできます。

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);
}
于 2012-07-23T13:43:03.847 に答える