Проблема WebClient - почему не работает следующий код? - PullRequest
0 голосов
/ 03 декабря 2010

Почему этот код не работает?

WebClient webClient = new WebClient();
webClient.Credentials = CredentialCache.DefaultCredentials;

webClient.DownloadFile(@"http://biblioteca.uqroo.mx/hemeroteca/tesol_quartely/1967_2002_fulltext/", "Vol_01_1.pdf");

System.Diagnostics.Process.Start("Vol_01_1.pdf");
Console.WriteLine("Worked!");

Он начинает загружаться, но когда я пытаюсь открыть файл, он поврежден и имеет небольшой размер.Любой совет?

DA

Ответы [ 2 ]

1 голос
/ 03 декабря 2010

Вы загружаете каталог . Перейдите по собственной ссылке в браузере - он не загружает PDF, а просто каталог Просто укажите имя файла в URL:

WebClient webClient = new WebClient();
webClient.Credentials = CredentialCache.DefaultCredentials;

webClient.DownloadFile("http://biblioteca.uqroo.mx/hemeroteca/" + 
                       "tesol_quartely/1967_2002_fulltext/Vol_01_1.pdf",
                       "Vol_01_1.pdf");

System.Diagnostics.Process.Start("Vol_01_1.pdf");
Console.WriteLine("Worked!");
0 голосов
/ 03 декабря 2010

Также используйте http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadfileasync.aspx. Для загрузки файла требуется время, поэтому при выполнении

System.Diagnostics.Process.Start("Vol_01_1.pdf")

файл еще не загружен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...