public async Task <ActionResult> CreateTask([FromBody] DownloadTask downloadTask) { var currentDir = PathUtilities.GetCurrentAssemblyDirectory(); var downloadDir = Path.Combine(currentDir, DOWNLOAD_TASK_OUTPUT_DIR); await YoutubeDownloadUtilities.DownloadYoutubeVideoListAsMp3(downloadTask.urls, downloadDir); return(Ok()); }
public async Task <ActionResult> DownloadAsMp3([FromQuery(Name = "url")] string url) { var filePath = await YoutubeDownloadUtilities.DownloadYoutubeVideoAsMp3(url); byte [] buffer = await FileUtilities.ReadAllBytes(filePath); System.IO.File.Delete(filePath); return(File(buffer, "audio/mpeg", System.IO.Path.GetFileName(filePath))); }
public async Task <ActionResult> CreateTaskForm() { var currentDir = PathUtilities.GetCurrentAssemblyDirectory(); var downloadDir = Path.Combine(currentDir, DOWNLOAD_TASK_OUTPUT_DIR); string [] urls = Request.Form["urls"].ToString().Trim().Split("\n"); var zipOutputPath = await YoutubeDownloadUtilities.DownloadYoutubeVideoListAsZip(urls); byte [] buffer = await FileUtilities.ReadAllBytes(zipOutputPath); System.IO.File.Delete(zipOutputPath); return(File(buffer, "application/octet-stream", System.IO.Path.GetFileName(zipOutputPath))); }