|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /*****************************************************************************
- Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ******************************************************************************/
-
- using System;
- using System.IO;
- using System.Linq;
- using System.Net;
- 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;
- }
- }
- }
|