Вопрос

У меня есть приложение WPF, и я хочу загрузить файл.

Я использую System.Net;и у меня есть следующий код:

WebClient ww = new WebClient();
ww.DownloadFileAsync(
    new Uri("http://www.sinvise.net/tester/1.jpg"), 
    AppDomain.CurrentDomain.BaseDirectory + "\\1.jpg");

Проблема в том, что он не загружает файл, он просто отображается как файл размером 0 КБ и не загружается. Я не знаю, в чем проблема, может кто-нибудь помочь?

Это было полезно?

Решение 3

Нашел ответ, прочитал, что DownloadFile прежде всего проверяет DNS, если я использую IP-адрес, он не проверяет и сразу работает.

Спасибо всем за помощь в этом вопросе.

Другие советы

Как насчет того, чтобы послушать ЗагрузкаФайлЗавершен событие и проверка AsyncCompletedEventArgs.Error свойство, которое событие пересылает вашему обработчику?

    public static void DownLoadFileInBackground(string address)
    {
        WebClient client = new WebClient();
        Uri uri = new Uri(address);
        client.DownloadFileCompleted += (sender,e)=>
                                        {
                                            //inspect e here:
                                            //e.Error
                                        };
        client.DownloadProgressChanged += (sender,e)=>
                                          {
                                              //e.ProgressPercentage
                                          };
        client.DownloadFileAsync(uri, "blabla");
    }

Некоторые веб-сайты блокируют запросы, в которых нет определенных заголовков.В частности, я нашел в прошлом заголовок «User-Agent». Попробуйте скопировать заголовок из запроса браузера и добавить его в свой веб-клиент.

WebClient.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0)");

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top