Заполнение IFrame с помощью PDF - Использование MVC [IE Issue] - PullRequest
1 голос
/ 11 мая 2011

В настоящее время у меня есть проблема с заполнением моего iframe документом PDF, но эта проблема возникает только в IE.

Базовая компоновка:

У меня есть экран, который содержит список элементов (вложений), которые могут быть изображения, текст или PDF.Когда пользователь нажимает на один из этих элементов - он вызывает действие контроллера [ViewAttachment], которое возвращает запрошенный элемент и отображает его в iframe.

В настоящее время это работает для всех типов данных сисключение PDF-файлов в IE.(Firefox, Chrome и т. Д. Все отображают PDF в iframe без проблем.)

Ранее я использовал Adobe Reader 9, а недавно обновился до 10 в надежде решить эту проблему.Я приложу некоторый код, чтобы посмотреть, есть ли у кого-нибудь предложения относительно того, как возможно решить эту проблему.

Код для заполнения iframe: (перемещено на две строки для удобства чтения)

$(".viewattachment").live('click',function () 
{ 
   $("iframe#test").attr("src","<%=Url.Action("ViewAttachment","Images") %>?
   attachment=" + $(this).next().val());
}); 

Действие контроллера ViewAttachment:

public ActionResult ViewAttachment(string attachmentGuid)
{
      Attachment attachment= imageAgent.GetAttachment(attachmentGuid);

      Stream resultStream = new MemoryStream();
      resultStream =  StorageProviders[attachment.ProviderName]
                      .ReadFile(attachment.FileReference);

      resultStream.Position = 0;
      FileStreamResult result = new FileStreamResult(resultStream, 
                                                     attachment.ContentType);

      return result;
}

Примечания:

  • Я попытался включить «Отображение PDF в браузере» в Adobe Reader, но безуспешно.
  • В настоящее время тестирую это для IE8.
  • При нажатии на PDF для просмотра - iframe просто остается в своем предыдущем контенте и не изменяется вообще.

Ответы [ 3 ]

1 голос
/ 11 мая 2011

После нескольких разных методов и итераций тестирования - я определил, что это конфликт между IE8-9 и версиями Adobe Reader 9-10.Я добавил следующий метатег в окно, содержащее iframe, и он решил все проблемы:

<meta http-equiv="X-UA-Compatible" content="IE=7" />

Это должно работать по крайней мере до тех пор, пока не будет выполнено обновление / исправление.

0 голосов
/ 10 сентября 2013

У меня была такая же проблема при работе с Spring MVC. Я объявил, что если я помещу Iframe в какой-то тег, например «util: panel», iframe не загружает содержимое de pdf в IE 8. Когда я помещаю iFrame из тега, все работает нормально.

0 голосов
/ 11 мая 2011

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

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