Exemplo n.º 1
0
        public IActionResult GetFile(string fileNameAndExtension)
        {
            if (!_cacheService.TryGetFile(fileNameAndExtension, out var videoInfo) || !System.IO.File.Exists(PathHelper.GenerateFilePath(videoInfo.FileName)))
            {
                return(NotFound());
            }

            string path      = PathHelper.GenerateFilePath(videoInfo.FileName);
            string extension = Path.GetExtension(fileNameAndExtension);
            string fileName  = _metaDataService.ConstructFilenameFromMetadata(path, extension) ?? videoInfo.FileName;

            var cd = new System.Net.Mime.ContentDisposition
            {
                // FileName = WebUtility.UrlEncode(fileName),
                FileName = ToValidASCIIString(fileName),
                Inline   = false, // Have it as attachment to force the browser to download it
            };

            Response.Headers.Add("Content-Disposition", cd.ToString());
            return(PhysicalFile(PathHelper.GenerateFilePath(videoInfo.FileName), "audio/mpeg"));
        }