public async Task <IActionResult> Multi([Bind("Url")] DownloadModel model) { if (!ModelState.IsValid) { return(View(model)); } List <string> urls = model.Url.Split("\r\n").ToList(); try { List <DownloadResultModel> results = new List <DownloadResultModel>(); Parallel.ForEach(urls, async(url) => { DownloadResultModel result = new DownloadResultModel(); result.Url = url; result.VideoUrl = await RushDownloader.GetVidDownloadLink(url) ?? "None"; result.Title = RushDownloader.GetVideoTitle(url) ?? "None"; results.Add(result); }); return(View("Results", results)); } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.Message); return(View(model)); } }
public DownloadResultModel DownloadFiles(DownloadModel model) { var bild = new EnginerFileRun(model.Repository); var file = bild.DownloadFile(model.FileGuid, model.Parts); var result = new DownloadResultModel { ErrorMessage = file.ErrorMessage, FileBytes = Operation.CollectFile(file.Parts), FileName = file.FileInfo.FileName, FileSize = file.FileInfo.FileSize }; return(result); }
public async Task <IActionResult> Index([Bind("Url")] DownloadModel model) { if (!ModelState.IsValid) { return(View(model)); } try { DownloadResultModel result = new DownloadResultModel(); result.Url = model.Url; result.VideoUrl = await RushDownloader.GetVidDownloadLink(model.Url) ?? "None"; result.Title = RushDownloader.GetVideoTitle(model.Url) ?? "None"; return(View("Result", result)); } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.Message); return(View(model)); } }