为了账号安全,请及时绑定邮箱和手机立即绑定

responseType blob 有效,但不是 Ajax 的新 Blob

responseType blob 有效,但不是 Ajax 的新 Blob

撒科打诨 2022-06-16 15:50:25
我需要根据 ajax 响应的内容类型(使用 jQuery)打开一个 pdf。事先不知道响应类型,这就是我遇到此问题的原因:此代码不起作用(我得到一个空 PDF),这是我需要使用的代码:$.ajax("/route").done((data)=>{    console.log(URL.createObjectURL(new Blob([data], {type: 'application/pdf'})))})此代码有效,我的 PDF 通过单击链接正确显示。但是我事先不知道响应类型,所以我不能使用这个代码。$.ajax("/route", {    xhrFields:{       responseType: 'blob'    }}).done((data)=>{    console.log(URL.createObjectURL(data))})
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

除了确保路由确实返回 application/pdf 响应类型之外,这个问题似乎没有任何其他解决方案。然后我们可以这样使用pdf:


let data = api.get('/route', {responseType: "blob"})

let pdfBlob = new Blob([data], { type: "application/pdf" });

let pdfPreview = URL.createObjectURL(pdfBlob);


查看完整回答
反对 回复 2022-06-16
  • 1 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信