gpt4 book ai didi

javascript - 通过 Javascript 将二进制数据下载为文件

转载 作者:太空狗 更新时间:2023-10-29 14:13:37 24 4
gpt4 key购买 nike

我正在对返回二进制数据的 API 进行 ajax 调用。我想知道是否可以获取该二进制数据并在新窗口中为客户端显示它?这就是我现在正在做的。问题是,文档打开了,但它完全是空白的。

$.ajax({
type: "POST",
url: apiURL,
data: xmlRequest,
complete: function(xhr, status) {
var bb = new window.WebKitBlobBuilder();

// Append the binary data to the blob
bb.append(xhr.responseText);

var blobURL = window.webkitURL.createObjectURL(bb.getBlob('application/pdf'));
window.open(blobURL);
}
});

有什么想法吗?

最佳答案

好吧,我明白了。我必须将响应类型指定为“数组缓冲区”:

function downloadPDF() {

var xhr = new XMLHttpRequest();
xhr.open('POST', API_URL, true);
xhr.responseType = 'arraybuffer';

xhr.onload = function(e) {
if (this.status == 200) {
var bb = new window.WebKitBlobBuilder();
bb.append(this.response); // Note: not xhr.responseText

var blob = bb.getBlob('application/pdf');
var blobURL = window.webkitURL.createObjectURL(blob);

window.open(blobURL);
}
};

xhr.send(createRequest());
}

关于javascript - 通过 Javascript 将二进制数据下载为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9620497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com