WebClient - сохранение загруженного файла на диск - PullRequest
3 голосов
/ 09 июля 2010

В Silverlight 4 кто-нибудь пытался загрузить файл с помощью WebClient (чтение или строковый метод, не имеет значения) и сохранить его на диск?(используя класс File или FileStream, опять же, не имеет значения)

Я пытался заставить это работать безуспешно, по какой-то причине файл загружается нормально, в то время как в памяти длина строки, кажется, совпадаетзагруженный файл, но когда он попадает на диск, он почти в два раза больше и явно поврежден: (.

Для воспроизведения просто создайте приложение SLOB OOB, используйте WebClient для загрузки выбранного вами MP3-файла и сохранения его вИспользование диска, скажем, класс FileStream. Если у вас работает tihs, опубликуйте образец!

1 Ответ

0 голосов
/ 20 апреля 2011

попробуйте этот пример в приложении с повышенным доверием OOB:

    private void download_Click(object sender, RoutedEventArgs e)
    {
        WebClient webClient = new WebClient();
        webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
        webClient.OpenReadAsync(new Uri("http://www.yourdomain.com/test.txt", UriKind.Absolute));
    }

    void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    {
        SaveFileDialog sfd = new SaveFileDialog();
        if ((bool)sfd.ShowDialog())
        {
            StreamReader sr = new StreamReader(e.Result);
            string str = sr.ReadToEnd();

            StreamWriter sw=new StreamWriter(sfd.OpenFile());
            sw.Write(str);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...