【问题标题】:Download base64 pdf with IE9用IE9下载base64 pdf
【发布时间】:2015-07-02 08:59:50
【问题描述】:

我有一个从外部系统获得的 base64 pdf。 我希望能够使用 JavaScript 在 IE9 中下载此 pdf,这是一个问题,因为 IE9 不支持 pdf 的 DATA URI。

请帮助我。 谢谢!

【问题讨论】:

    标签: javascript pdf internet-explorer-9 base64


    【解决方案1】:

    您应该使用基于 Adob​​e 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 代码的 base64 pdf。
    • 查看此在线示例(请参阅页面的源代码并查看函数 CreatePDFDownloadifyButton 实现,您只需将 PDFContentBase64 设置为您从外部系统获得的带有 base64 编码的 pdf 文件的字符串):bytescout.com/files/help/BytescoutPDFGeneratorSDKJS/… (披露:我为 ByteScout 工作,但此示例代码可免费使用)
    • 太好了,如果有效,请将答案标记为有效,以便其他人也可以使用它。
    • 我还有一个问题,也许你可以帮助我。我想将按钮图像更改为我的图像。你知道我该怎么做吗?谢谢!
    • 可以,但是需要你重新编译Downloadify swf和替换的按钮图片,源码见github.com/dcneiner/downloadify
    【解决方案2】:

    Downloadify.js 是您的案例的绝佳解决方案。只是要小心选项。应该有

    'dataType': 'base64'
    'data:' string representation of pdf in base64 format
    

    还要确保您的链接/按钮已通过下载插件插入“闪存代码”(downloadify.create() 初始化后检查源代码)。您还可以检查您的 base64 开头是否有 data:application/pdf;base64, 类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 2015-03-27
      • 2014-03-24
      • 2013-09-08
      • 2017-06-11
      • 2021-09-05
      • 1970-01-01
      相关资源
      最近更新 更多