2010-07-09 3 views
2

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

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

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

+0

См., Если это поможет: http://stackoverflow.com/questions/5037030/create-a-csv-download-using-silverlight-4-and-c/5045303#5045303 – gideon

ответ

0

попробуйте этот образец в приложении 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); 
     } 
    } 
Смежные вопросы