Autres conseils

Ok, j'ai trouvé finnaly la réponse! Avant de télécharger le fichier, je vérifiais sa taille en envoyant HttpWebRequest. Le problème était que je ne l'ai pas Close () la réponse.

Merci pour les réponses, ils étaient des indices agréables.

Essayez de gérer l'événement et DownloadProgressChanged DownloadFileCompleted.

private void button1_Click(object sender, EventArgs e)
  {
   string url = "http://framework.zend.com/releases/ZendFramework-1.11.11/ZendFramework-1.11.11.zip";
   WebClient downloader = new WebClient();
   downloader.DownloadFileCompleted += new AsyncCompletedEventHandler(downloader_DownloadFileCompleted);
   downloader.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downloader_DownloadProgressChanged);
   downloader.DownloadFileAsync(new Uri(url), "C:\\temp.zip");
  }

 void downloader_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
   {
      label1.Text = e.BytesReceived + " " + e.ProgressPercentage;
    }
  void downloader_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
   {
       if (e.Error != null)
         MessageBox.Show(e.Error.Message);
       else
         MessageBox.Show("Completed!!!");
   }

Si vous avez UAC activé dans Windows « C: \ temp.zip » dans la ligne suivante ne parviendra pas à enregistrer le fichier parce que vous n'êtes pas autorisé à écrire en dehors des répertoires utilisateur sans autorisations élevées:

downloader.DownloadFileAsync(new Uri(url), "C:\\temp.zip");
scroll top