2013-04-02 6 views
0

У меня есть GridView, внутри которой есть кнопка ссылки на нажав кнопку ссылки я в состоянии загрузить файл, как, PDF, JPEG, док, но я хочу показать сам браузер, нажав кнопку ссылкиКак открыть PDF в браузере

string pdfPath = Server.MapPath("~/SomePDFFile.pdf"); 
WebClient client = new WebClient(); 
Byte[] buffer = client.DownloadData(pdfPath); 
Response.ContentType = "application/pdf"; 
Response.AddHeader("content-length", buffer.Length.ToString()); 
Response.BinaryWrite(buffer); 

, но я хочу открыть файл как JPEG, PDF, DOC GridView внутри кнопки ссылки в браузере

+0

Являются ли эти файлы в папке вашего веб-сайта? Если да, почему бы просто не иметь ссылку на них? – Paddy

+0

http://stackoverflow.com/questions/12974115/to-open-pdf-file-in-iframe – adt

ответ

0

Вы можете отображать pdf, jpg и т. Д. В iframe на той же странице. Для например:

<iframe id="iframe" runat="server" src="NameOfYourFolder/pdf.pdf"></iframe> 

Здесь я жёстко путь к файлу в формате PDF, который будет отображаться в окне IFRAME. Вам нужно создать механизм для получения пути файла, связанного с этой ссылкой, в GridView и передать этот путь к src iframe через встроенные кодовые блоки.

+0

Спасибо за вашу поддержку –

1

Это зависит от типа файла и как текущая система настроена для обработки этого типа.

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

0

Необходимо указать заголовок Content-Disposition: inline. Если браузер поддерживает отображение типа, указанного в заголовке Content-Type, он будет отображаться в браузере.

Противоположность Content-Disposition: attachment, которая заставит браузер предоставить кнопку «Сохранить как» для вашего контента (даже если это HTML).

1

Первый способ показать PDF в браузере

protected void btnOpen_Click(object sender, EventArgs e) 
{ 
Response.Redirect("SiteAnalytics.pdf"); 
} 

Второй способ показать PDF в браузере с помощью установки типа содержимого объекта Response и добавить двоичный вид из PDF в заголовке

protected void btnpdf_Click(object sender, EventArgs e) 
{ 
string path = Server.MapPath("SiteAnalytics.pdf"); 
WebClient client = new WebClient(); 
Byte[] buffer = client.DownloadData(path); 

if (buffer != null) 
{ 
Response.ContentType = "application/pdf"; 
Response.AddHeader("content-length", buffer.Length.ToString()); 
Response.BinaryWrite(buffer); 
} 
Смежные вопросы