using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading; using System.Threading.Tasks; namespace TensorFlowNET.Examples.Utility { public class Web { public static bool Download(string url, string destDir, string destFileName) { if (destFileName == null) destFileName = url.Split(Path.DirectorySeparatorChar).Last(); Directory.CreateDirectory(destDir); string relativeFilePath = Path.Combine(destDir, destFileName); if (File.Exists(relativeFilePath)) { Console.WriteLine($"{relativeFilePath} already exists."); return false; } var wc = new WebClient(); Console.WriteLine($"Downloading {relativeFilePath}"); var download = Task.Run(() => wc.DownloadFile(url, relativeFilePath)); while (!download.IsCompleted) { Thread.Sleep(1000); Console.Write("."); } Console.WriteLine(""); Console.WriteLine($"Downloaded {relativeFilePath}"); return true; } } }