Поток PDF в новый экземпляр браузера или вкладку?

Я хочу передать PDF-файл в новый экземпляр браузера. в настоящее время у меня есть это

Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition", "inline; filename=""" & Path.GetFileName(pdfFile) & """")
Response.AddHeader("Content-Length", stream.Length)
Response.BinaryWrite(stream.ToArray())
Response.Flush()

Но это занимает мое существующее окно и уводит меня со страницы. Я хочу создать новую вкладку или окно и отобразить там PDF-файл.

Кто-нибудь знает как это сделать?


person Hcabnettek    schedule 10.07.2009    source источник
comment
Большинство людей предпочитают скачивание.   -  person schar    schedule 11.07.2009


Ответы (2)


Вы можете принудительно загрузить, это решает вашу проблему:

Response.AddHeader("Content-Disposition", "attachment;filename""" & Path.GetFileName(pdfFile) & """")
person Mercer Traieste    schedule 10.07.2009
comment
Вот как я обычно отправляю PDF-файлы клиенту. Хотя технически он откроется непосредственно в Acrobat, если выбрана опция открытия, которая не является новым окном браузера. Однако это все еще мое предпочтительное решение, поэтому +1. - person RichardOD; 11.07.2009
comment
см. мои комментарии к musicfreak. Новое требование — не сохранять PDF-файл. - person Hcabnettek; 11.07.2009
comment
Я действительно думаю, что это нормально. Его не нужно было открывать в браузере. Его просто нужно было открыть и прочитать на клиенте, не уходя с текущей страницы. - person Hcabnettek; 11.07.2009

Вы можете рассмотреть атрибут <a> target. Вы можете использовать это, чтобы открыть PDF в новом окне, возможно, используя что-то вроде:

<a href="GeneratePdf.ashx?somekey=10" target="_blank">

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

Если вы используете ASP.NET, определенно стоит подумать о написании пользовательского HttpHandler для потоковой передачи PDF для вас.

person RichardOD    schedule 10.07.2009