¿Cuál es una manera simple de descargar un archivo desde una ruta URL?
c#
downloadfile
vbroto
fuente
fuente
Respuestas:
fuente
Incluir este espacio de nombres
Descargue asincrónicamente y coloque una barra de progreso para mostrar el estado de la descarga dentro de la interfaz de usuario.
fuente
Uso
System.Net.WebClient.DownloadFile
:fuente
fuente
Clase completa para descargar un archivo mientras se imprime el estado en la consola.
Uso:
fuente
SemaphoreSlim
en este contexto?Intenta usar esto:
fuente
También puede usar el método DownloadFileAsync en la clase WebClient. Descarga en un archivo local el recurso con el URI especificado. Además, este método no bloquea el hilo de llamada.
Muestra:
Para más información:
http://csharpexamples.com/download-files-synchronous-asynchronous-url-c/
fuente
Compruebe si hay una conexión de red
GetIsNetworkAvailable()
para evitar crear archivos vacíos cuando no está conectado a una red.fuente
GetIsNetworkAvailable()
, ya que, en mi experiencia, devuelve demasiados falsos positivos.GetIsNetworkAvailable()
siempre volvería correctamente. En tal caso, puede usar elSystem.Net.WebClient().OpenRead(Uri)
método para ver si regresa cuando se le da una URL predeterminada. Ver WebClient.OpenRead ()El siguiente código contiene lógica para descargar el archivo con el nombre original
fuente
Es posible que necesite conocer el estado y actualizar una ProgressBar durante la descarga del archivo o usar credenciales antes de realizar la solicitud.
Aquí está, un ejemplo que cubre estas opciones. Se ha utilizado la notación lambda y la interpolación de cadenas :
fuente
Según mi investigación, descubrí que
WebClient.DownloadFileAsync
es la mejor manera de descargar archivos. Está disponible en elSystem.Net
espacio de nombres y también es compatible con .net core.Aquí está el código de muestra para descargar el archivo.
Con el código de archivo anterior se descargará dentro de la
tepdownload
carpeta del directorio del proyecto. Lea el comentario en el código para comprender lo que hace el código anterior.fuente