Открытие base64 PDF в JavaScript в IE6 - PullRequest
1 голос
/ 03 мая 2011

В javascript у меня есть переменная, которая содержит PDF в base64 (PDF создается в flex и передается в js).Я хочу открыть его в браузере (т.е. я хочу, чтобы браузер отображал диалоговое окно открытия / сохранения, позволяющее пользователю открывать или сохранять PDF).

Я использую Data URI, который отлично работает в некоторых браузерах,но не поддерживается в IE 6/7:

function getPdf(pdf) {
    window.open("data:application/pdf;base64," +pdf);
}

Как я могу получить этот PDF для открытия в IE6 и 7?Я читал о MHTML как об альтернативе data uri, но не думаю, что он может делать то, что мне нужно, или так?Сейчас мне просто нужно открыть PDF-файлы, но в будущем мне, вероятно, потребуется добавить поддержку файлов xls (MS Excel).В настоящее время я использую файл Flashreference.save, чтобы позволить пользователю сохранить файл pdf на диск, после чего он может его открыть, но клиент настаивает на том, чтобы дать пользователю возможность открыть его автоматически, а не заставлять его сначала его сохранить.

Ответы [ 2 ]

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

Это невозможно в IE без отправки его на сервер и перенаправления на страницу ответа. Если вы генерируете PDF, вам нужно просто сгенерировать соответствующий HTML вместо IE.

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

Возможно, вы захотите рассмотреть эту альтернативу: попросите Flex отправить файл PDF на сервер, а затем на странице автоматически появится фрейм iframe, загружающий его с сервера.Это обходной путь, чтобы обойти проблему IE6.

...