Pregunta

Tengo una aplicación de WPF y quiero descargar un archivo.

Estoy usando System.Net; y tengo el siguiente código:

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

El problema es, es que no se descarga el archivo, es simplemente aparecer como archivo 0kb y no la descarga, no sé cuál es el problema, la ayuda puede alguien?

¿Fue útil?

Solución 3

Se han encontrado la respuesta, leí que los cheques DownloadFile el DNS primero antes de nada, si uso una dirección IP que no hace el cheque y funciona inmediatamente.

Gracias por everyones ayuda en esto, sin embargo.

Otros consejos

¿Qué hay de la escucha de la DownloadFileCompleted evento y el control de la AsyncCompletedEventArgs.Error la propiedad evento hacia delante a su manejador?

    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");
    }

Algunos sitios web de bloquear las solicitudes que no tienen ciertas cabeceras de la petición. En particular, uno que he encontrado en el pasado es la cabecera "User-Agent", intente copiar una cabecera de una petición del navegador y agregarlo a su cliente Web

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

Me gustaría añadir que el método DownloadFileAsync (no puedo hablar por DownloadFile) no funciona cuando se tiene un WebRequest existente y no cerrada para el mismo archivo. Al menos esa es mi experiencia. Puede ser que no está permitido por el marco o servidor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top