Установка имени файла PDF динамически - PullRequest
2 голосов
/ 23 ноября 2010

Я надеюсь, что смогу точно объяснить мою ситуацию.

У меня есть страница ASP.NET, которая выгружает файлы PDF для пользователей со следующим кодом:

Response.ContentType = "application/pdf";                
Response.AppendHeader("content-disposition", string.Format("inline; filename={0}", getFileName(DateTime.Now)));

Причина, по которой я использую «inline» вместо «attachment», поэтомуЯ могу заставить пользователей просматривать PDF прямо в браузерах, вместо того, чтобы открывать акробат для просмотра PDF-файлов.Пока все хорошо, но когда пользователи хотят сохранить файл, имя файла, которое должно быть установлено на "getFileName (DateTime.Now)" , вместо этого просто принимает имя страницы, например myPDFpage.pdf .

Есть ли в любом случае, не устанавливая расположение содержимого в "вложение", для пользователей, чтобы сохранить файл с именем, которое я определяю с помощью метода getFileName ()?

Заранее спасибо.badallen

Ответы [ 2 ]

1 голос
/ 23 ноября 2010

Это простое поведение способа, которым acrobat обрабатывает файл, когда он открыт. Насколько я знаю, нет способа диктовать это при открытии строки, так как это становится обязанностью Акробата.

0 голосов
/ 23 ноября 2010

Я понимаю, что вы пытаетесь сделать это невозможно, потому что есть проблемы с «встроенным» типом расположения (я понимаю, это проблема PDF и / или браузера).

Я боролся ста же проблема и нашла эту статью, которая обещает решение:
Как показать или скачать файл PDF со страницы ASP.NET 2.0 (версия iTextSharp)

Основная проблема заключается в том, чтопо умолчанию PDF-файлы будут сохраняться с базовым именем (имя без расширения имени файла) страницы, на которой оно обслуживается;В статье показано, как вы можете использовать динамически называемый HttpHandler для доставки PDF-файлов и управления именем файла.

Справедливое предупреждение: я сам еще не пробовал, поэтому не могу сказать вам, будет ли он работать.

...