public void Should_be_able_to_download_a_small_file_from_the_internet() { var fileDownloader = new FileDownloader("http://www.google.co.uk/intl/en_uk/images/logo.gif"); byte[] fileData = fileDownloader.Download(); Assert.IsTrue(fileData.Length > 0); }
public bool GetData(string url, string baseUrl, ref string tempLocation) { FileDownloader fd = null; if (Uri.IsWellFormedUriString(url, UriKind.Absolute)) fd = new FileDownloader(url); else if (Uri.IsWellFormedUriString(baseUrl, UriKind.Absolute)) fd = new FileDownloader(new Uri(new Uri(baseUrl, UriKind.Absolute), url)); if (fd == null) throw new ArgumentException("The requested URI does not look valid: " + url, "url"); if (string.IsNullOrEmpty(tempLocation) || !Directory.Exists(Path.GetDirectoryName(tempLocation))) /// WATCHOUT!!! Files downloaded to a path specified by GetTempFileName may be deleted on /// application restart, and as such cannot be relied on for cold updates, only for hot-swaps or /// files requiring pre-processing tempLocation = Path.GetTempFileName(); return fd.DownloadToFile(tempLocation); }
public bool GetData(string url, string baseUrl, Action<UpdateProgressInfo> onProgress, ref string tempLocation) { FileDownloader fd = null; if (Uri.IsWellFormedUriString(url, UriKind.Absolute)) fd = new FileDownloader(url); else if (Uri.IsWellFormedUriString(baseUrl, UriKind.Absolute)) fd = new FileDownloader(new Uri(new Uri(baseUrl, UriKind.Absolute), url)); else fd = string.IsNullOrEmpty(baseUrl) ? new FileDownloader(url) : new FileDownloader(new Uri(new Uri(baseUrl), url)); fd.Proxy = Proxy; if (string.IsNullOrEmpty(tempLocation) || !Directory.Exists(Path.GetDirectoryName(tempLocation))) // WATCHOUT!!! Files downloaded to a path specified by GetTempFileName may be deleted on // application restart, and as such cannot be relied on for cold updates, only for hot-swaps or // files requiring pre-processing tempLocation = Path.GetTempFileName(); return fd.DownloadToFile(tempLocation, onProgress); }
public bool GetData(string url, string baseUrl, Action<UpdateProgressInfo> onProgress, ref string tempLocation) { FileDownloader fd; // A baseUrl of http://testserver/somefolder with a file linklibrary.dll was resulting in a webrequest to http://testserver/linklibrary // The trailing slash is required for the Uri parser to resolve correctly. if (!string.IsNullOrEmpty(baseUrl) && !baseUrl.EndsWith("/")) baseUrl += "/"; if (Uri.IsWellFormedUriString(url, UriKind.Absolute)) fd = new FileDownloader(url); else if (Uri.IsWellFormedUriString(baseUrl, UriKind.Absolute)) fd = new FileDownloader(new Uri(new Uri(baseUrl, UriKind.Absolute), url)); else fd = string.IsNullOrEmpty(baseUrl) ? new FileDownloader(url) : new FileDownloader(new Uri(new Uri(baseUrl), url)); fd.Proxy = Proxy; if (string.IsNullOrEmpty(tempLocation) || !Directory.Exists(Path.GetDirectoryName(tempLocation))) // WATCHOUT!!! Files downloaded to a path specified by GetTempFileName may be deleted on // application restart, and as such cannot be relied on for cold updates, only for hot-swaps or // files requiring pre-processing tempLocation = Path.GetTempFileName(); return fd.DownloadToFile(tempLocation, onProgress); }