Come recuperare il nome del file da un FileResult:

In controller

        [HttpGet]
        public async Task DownloadDocument(int if)
        {
            try
            {

                var file = await _documentService.SingleFile(id);
                byte[] bytes = file.Stream.ToArray();

                Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition");

                return File(bytes, System.Net.Mime.MediaTypeNames.Application.Octet, file.FullFileName);

            }
            catch (ValidationException exu)
            {
                return ReturnError(exu.Message);
            }
            catch (Exception ex)
            {
                return ReturnGenericError(ex);
            }
        }

 

In angular service

var contentDisposition = response.headers.get('Content-Disposition');
let filename = contentDisposition.split(';')[1].split('filename')[1].split('=')[1].replace(/"/g, '').trim();
          alert(filename);