Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将二进制数组转换为pdf-Jquery_Javascript_Jquery_Ajax_Pdf_Download - Fatal编程技术网

Javascript 将二进制数组转换为pdf-Jquery

Javascript 将二进制数组转换为pdf-Jquery,javascript,jquery,ajax,pdf,download,Javascript,Jquery,Ajax,Pdf,Download,返回二进制数组的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,

返回二进制数组的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();
    });
  }
})
$.ajax({
url:“/documents/docDownload”,
键入:“获取”,
标题:{
响应类型:“blob”
},
成功:功能(数据){
var file=window.URL.createObjectURL(数据);
变量a=$(“”{
“href”:文件,
“下载”:data.name | |“detailPDF”
}).附于(“主体”);
a、 单击();
$(窗口).on('focus',函数(e){
$('a')。删除();
});
}
})
现在我需要转换PDF中的二进制数组,就像最初一样

A尝试了很多情况,甚至将对象转换为blob对象,但什么都没有

如何修复它?

也许可以尝试以下方法:

$.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();
    });
  }
})
$.ajax({
url:“/documents/docDownload”,
键入:“获取”,
success:function(data){//在我的jQuery版本中,您应该像$.ajax(…).success(function(data){…}一样将其移出
var file=newblob([data],{type:'application/pdf'});
var fileURL=window.URL.createObjectURL(文件);
变量a=$(“”{
“href”:文件URL,
“下载”:data.name | |“detailPDF”
}).html('download!')。appendTo('body');
a、 单击();
$(窗口).on('focus',函数(e){
$('a')。删除();
});
}
})
编辑:


在评论之后,我更改了代码,现在它对我有效。

有效!得到了pdf!但它是空的,而原来的不是!对我无效!现在也不会单独打开pdf!如果我尝试在另一个选项卡中运行fileURL,则会以相同的格式返回一个空pdf。