1

在javascript中,我有一个变量,它在base64中保存一个pdf(pdf在flex中生成并传递给js)。我想在浏览器中打开它(即我希望浏览器显示打开/保存对话框让用户打开或保存 pdf)。

我使用的 Data URI 在某些浏览器中运行良好,但在 IE 6/7 中不受支持:

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

如何让这个 PDF 在 IE6 和 7 中打开?我读过 MHTML 作为数据 uri 的替代品,但我认为它不能满足我的需要,或者可以吗?现在我只需要打开 pdf,但将来我可能还需要添加对 xls (MS Excel) 文件的支持。目前我正在使用 Flash 的 Filereference.save 让用户将 pdf 保存到磁盘然后他可以打开它,但是客户端坚持让用户选择自动打开它而不是强迫他先保存它。

4

2 回答 2

1

如果不将其发送到服务器并重定向到响应页面,这在 IE 中是不可能的。如果您正在生成 PDF,您应该只为 IE 生成适当的 HTML。

于 2011-05-03T20:03:08.287 回答
0

您可能需要考虑这种替代方法:让 Flex 将 PDF 文件发送到服务器,然后让页面上的 iframe 自动从服务器加载该文件。这是一个绕过 IE6 问题的方法。

于 2011-05-03T20:32:06.967 回答