【问题标题】:Convert binary array into pdf - Jquery将二进制数组转换为pdf - Jquery
【发布时间】:2016-01-22 23:11:21
【问题描述】:

返回二进制数组的 Jquery Ajax 请求。

$.ajax({
  url: "/documents/docDownload",
  type: "GET",
  headers: {
    responseType: "blob"
  },
  success: function(data) {
    var file = window.URL.createObjectURL(data);
    var a = $("<a/>", {
      "href": file,
      "download": data.name || "detailPDF"
    }).appendTo('body');
    a.click();
    $(window).on('focus', function(e) {
      $('a').remove();
    });
  }
})

现在我需要将二进制数组原样转换为 PDF 格式。

尝试了一堆情况,甚至将对象转换为blob对象但没有。

如何解决?

【问题讨论】:

    标签: javascript jquery ajax pdf download


    【解决方案1】:

    不妨试试这个:

    $.ajax({
      url: "/documents/docDownload",
      type: "GET",
      success: function(data) { // in my jQuery version you should move this out like $.ajax(...).success(function(data) {...}
        var file = new Blob([data], {type: 'application/pdf'});
        var fileURL = window.URL.createObjectURL(file);
        var a = $("<a/>", {
          "href": fileURL,
          "download": data.name || "detailPDF"
        }).html('download!').appendTo('body');
        a.click();
        $(window).on('focus', function(e) {
          $('a').remove();
        });
      }
    })
    

    编辑:

    评论后我更改了代码,现在它适用于我。

    【讨论】:

    • 有效!收到pdf了!但它是空的,原来的不是!
    • 对我来说不起作用!现在都不能单独打开 PDF!如果我尝试在另一个选项卡中运行 fileURL,则返回一个空的 pdf。
    猜你喜欢
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    相关资源
    最近更新 更多