返回二进制数组的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对象,但没有。
如何解决?
答案 0 :(得分:0)
也许试试这个:
$.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();
});
}
})
修改强>
评论之后,我更改了代码,现在它对我有效。