public FileStreamResult DownloadFileAsyn(string filename)
        {
            var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", filename);
            var httpContentHelper = new HttpContentHelper();

            Response.ContentType = httpContentHelper.GetContentType(path);
            var stream = new FileInfo(path).OpenRead();

            return(File(stream, httpContentHelper.GetContentType(path), filename));
        }
        public VideoStreamResult PlayVideoAsync(string filename)
        {
            var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", filename);
            var httpContentHelper = new HttpContentHelper();

            return(new VideoStreamResult(new FileInfo(path).OpenRead(), httpContentHelper.GetContentType(path)));
        }
        public async Task <FileResult> DownloadFile(string filename)
        {
            if (string.IsNullOrEmpty(filename))
            {
                return(null);
            }

            var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", filename);

            var memory = new MemoryStream();

            using (var stream = new FileInfo(path).OpenRead())
            {
                await stream.CopyToAsync(memory);

                stream.Close();
            }
            memory.Position = 0;
            var httpContentHelper = new HttpContentHelper();

            return(File(memory, httpContentHelper.GetContentType(path), Path.GetFileName(path)));
        }