【发布时间】:2015-07-02 08:59:50
【问题描述】:
我有一个从外部系统获得的 base64 pdf。 我希望能够使用 JavaScript 在 IE9 中下载此 pdf,这是一个问题,因为 IE9 不支持 pdf 的 DATA URI。
请帮助我。 谢谢!
【问题讨论】:
标签: javascript pdf internet-explorer-9 base64
我有一个从外部系统获得的 base64 pdf。 我希望能够使用 JavaScript 在 IE9 中下载此 pdf,这是一个问题,因为 IE9 不支持 pdf 的 DATA URI。
请帮助我。 谢谢!
【问题讨论】:
标签: javascript pdf internet-explorer-9 base64
您应该使用基于 Adobe Flash 的插件Downloadify(参见demo)来允许用户在 IE9 中下载文件。
您可以使用以下js函数检查当前浏览器是否支持dataURI:
function CheckDataURISupport(){
var result = true;
var checkDataURISupportImage = new Image();
checkDataURISupportImage.onload = checkDataURISupportImage.onerror = function(){
if(this.width != 1 || this.height != 1){
result = false;
}
}
checkDataURISupportImage.src = "data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";
// check if we have datauri support in current browser - end
return result;
}
【讨论】:
Downloadify.js 是您的案例的绝佳解决方案。只是要小心选项。应该有
'dataType': 'base64'
'data:' string representation of pdf in base64 format
还要确保您的链接/按钮已通过下载插件插入“闪存代码”(downloadify.create() 初始化后检查源代码)。您还可以检查您的 base64 开头是否有 data:application/pdf;base64, 类型。
【讨论】: