ASP. NET MVC FileContentResult имя встроенного PDF-файла не отображается в заголовке браузера - PullRequest
1 голос
/ 28 мая 2020

. NET Framework 4.7.2 MVC project

У меня есть действие контроллера, которое динамически загружает PDF-файл для возврата в строку браузера. Все работает, за исключением того, что имя файла не отображается в строке заголовка браузера или на вкладке. Вместо этого браузер показывает значение параметра «id», предположительно потому, что он следует за последним sla sh.

Мне нужно, чтобы браузер отображал имя файла PDF, чтобы пользователи знали, какой PDF-файл они просматривают. Наши пользователи, как правило, открывают несколько PDF-файлов во вкладках и часто переключаются между ними. Это упрощенная версия кода:

public FileContentResult ViewPDF(int id)
{
    byte[] pdfContents = loadPDF(id);
    string filename = getPDFFilename(id);

    var cd = new ContentDisposition
    {
        FileName = filename,
        Inline = true
    };

    Response.AddHeader("Content-Disposition", cd.ToString());

    string returnContentType = MimeMapping.GetMimeMapping(filename);            

    return File(pdfContents, returnContentType);
}

Я также безуспешно пробовал FileStream и пробовал Edge, IE и Chrome, но все они делают то же самое. В Chrome, когда я сохраняю PDF-файл, он сохраняет с правильным именем файла, но просто не отображает его в браузере.

...