本文整理汇总了C#中WebDownload.DownloadFile方法的典型用法代码示例。如果您正苦于以下问题:C# WebDownload.DownloadFile方法的具体用法?C# WebDownload.DownloadFile怎么用?C# WebDownload.DownloadFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebDownload
的用法示例。
在下文中一共展示了WebDownload.DownloadFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BackupAndUpdateSize
/// <summary>
/// Downloads a back of a given media link. Also updates its size information so it can be loaded properly in the website.
/// </summary>
/// <param name="url"></param>
public static void BackupAndUpdateSize(string url)
{
if (!Constants.DownloadData)
return;
// Use the last part of url to get a cleaner file name. May cause issues in the future but unlikely.
var split = url.Split('/');
var fileName = split[split.Length - 1];
// Remove illegal characters to avoid problems with filesystems.
fileName = fileName.Replace("\\", "").Replace("\"", "");
if (Path.GetExtension(fileName).Equals(".gif"))
{
// Separate gifs based on source to get a nicer structure (no real advantage).
if (url.Contains("gfycat"))
fileName = Constants.BackupLocation + "gfycat\\" + fileName;
else if(url.Contains("imgur"))
fileName = Constants.BackupLocation + "imgur\\" + fileName;
else
fileName = Constants.BackupLocation + fileName;
}
else
fileName = Constants.DataOtherRaw + Constants.LocalMediaFolder + CurrentDungeon + "\\" + fileName;
// Function gets called for all kinds of links. Obviously all media files have a file extension.
if (Path.GetExtension(fileName).Length == 0)
return;
if (downloadedFileNames.Contains(url))
return;
downloadedFileNames.Add(url);
var dirName = Path.GetDirectoryName(fileName);
if (dirName != null)
Directory.CreateDirectory(dirName);
// Don't download already existing files to make this much faster. This means that the backup must be deleted manually if content changes.
if (!File.Exists(fileName))
{
// Use a custom timeout to make this work much faster.
var timeOut = 10000;
if (Path.GetExtension(fileName).Equals(".gif"))
timeOut = 30000;
using (var client = new WebDownload(timeOut))
{
var row = Console.CursorTop;
try
{
Console.Write("Downloading " + url);
client.DownloadFile(url, fileName);
Helper.ClearConsoleLine(row);
}
catch (WebException)
{
Helper.ClearConsoleLine(row);
ErrorHandler.ShowWarningMessage("File \"" + url + "\" can't be downloaded.");
}
}
}
if (!File.Exists(fileName))
return;
UpdateSizeInformation(fileName, url);
}