2013-11-26 2 views
1

Моя задача очень проста, на кнопке Click Я хочу показать сгенерированный PDF в браузере, но в то же время загрузить его на клиентской машине.ASP.NET - Загрузить файл и показать в браузере

Я сделал 2 функции, один для загрузки & другой для показа его в браузере. Когда я запускаю их по отдельности, они работают как шарм, но когда я вызываю их вместе, нажимаем кнопку только то, что называется первым, работает другое, просто ничего не делает.

Ниже приведен код скачивания файла.

_page.Response.Clear(); 
      _page.Response.AddHeader("Content-Disposition", "attachment; filename=payments.xls"); 
      //Download the file and prompt the user to save 
      _page.Response.BinaryWrite(data); 
      _page.Response.End(); 

Ниже приведен код, чтобы показать в браузере

_page.Response.Clear(); 
      _page.Response.ContentType = "application/pdf"; 
      _page.Response.OutputStream.Write(_datastrem.GetBuffer(), 0, _datastrem.GetBuffer().Length); 
      _page.Response.Flush(); 

** Я должен также упомянуть, что я хочу сделать все, что на Postback.

+0

Как именно вы называете это? И попытались ли вы показывать содержимое в браузере и использовать iframe, из которого вы даете клиенту файл? – Dethariel

+0

Извините, но обновленный вопрос с кодом. – KhanZeeshan

ответ

1

Вы не совсем показываете свой код, но из того, что вы описали, я могу сказать, что это не сработает: вы можете выполнять только одно действие на HTTP-ответ. Вы либо нажимаете файл для загрузки (content-disposition) , либо покажите файл в браузере.

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

+0

Можете ли вы рассказать мне, как загрузить файл через javascript, поскольку brower будет показывать pdf так, как я могу вызвать функцию загрузки. – KhanZeeshan

+0

Показать PDF в документе HTML в iframe, например. – CodeCaster

+0

Я не хочу открывать всплывающее окно или что-либо, что я хочу показать на одной странице. – KhanZeeshan

Смежные вопросы