Заголовок ответа .NET Core MVC Content-Disposition ничего не делает - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь получить файл с моего сервера (который использует ASP.NET Core MVC) и отобразить его в браузере.После просмотра множества тем здесь и на других сайтах, кажется, каждый раз предлагается одно и то же решение;который должен использовать Content-Disposition inline в заголовке ответа.У меня есть мой код следующим образом:

IFileInfo file = _fileProvider.GetFileInfo(filename);
Response.Headers.Add("Content-Disposition", $"inline; {file.Name}");
return File(file.CreateReadStream(), "application/pdf", file.Name);

Хотя это, кажется, правильный код, основанный на других потоках, которые я видел, заголовок Content-Disposition абсолютно ничего не делает в моем коде.Имею ли я заголовок, удаляю ли он или делаю что-то еще (например, вложение), он загружает и сохраняет файл, но не отображает его, пока я не открою файл вручную.

Кто-нибудь знает, что яздесь не хватает?

1 Ответ

0 голосов
/ 05 октября 2018

Возвращая перегрузку File, которая принимает параметр имени файла, вы перезаписываете заголовок Content-Disposition на attachment; {filename}.Просто сделайте:

return File(file.CreateReadStream(), "application/pdf");

И все будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...