В настоящее время у меня есть проблема с заполнением моего 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 просто остается в своем предыдущем контенте и не изменяется вообще.