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)));
        }