Открыть PDF в плагине браузера - PullRequest
5 голосов
/ 02 июня 2009

Как мне (в моем контроллере) отправить PDF, который открывается в браузере. Я пробовал это, но он только загружает файл (то есть и Firefox) без запроса.

public ActionResult GetIt()
{
    var filename = @"C:\path\to\pdf\test.pdf";
    // Edit start
    ControllerContext.HttpContext.Response.AddHeader("Content-Disposition", String.Format("inline;filename=\"{0}\"", "test.pdf"));
    // Edit stop
    return File(filename, "application/pdf", Server.HtmlEncode(filename));
}

После добавления редактирования выше оно работает как надо, спасибо.

Ответы [ 3 ]

6 голосов
/ 02 июня 2009

Необходимо установить встроенный HTTP-заголовок размещения содержимого, чтобы указать браузеру, что он должен попытаться использовать плагин PDF, если он доступен.

Что-то вроде: Content-Disposition: inline; имя файла = test.pdf

Обратите внимание, что вы не можете принудительно использовать плагин, это решение, принятое браузером.

2 голосов
/ 02 июня 2009

Это (в дополнение к другим заголовкам) помогает мне в простом веб-приложении .net:

Response.AddHeader ("Content-Disposition", String.Format ("inline; filename =" "{0}" "", FileName))

Я не знаком с MVC, но, надеюсь, это поможет.

1 голос
/ 02 июня 2009

Я думаю, это зависит от того, как клиент обрабатывает PDF-файлы. Если у него есть настройка, позволяющая Adobe Reader открывать файлы в плагине браузера, он это сделает, но, возможно, вы настроили его для загрузки файла, а не его открытия. В любом случае, нет способа контролировать, как файлы PDF будут открываться на компьютере пользователя.

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