要使用AJAX请求下载文件,可以使用XMLHttpRequest对象的responseType属性设置为"blob"类型,然后在onload事件处理程序中创建一个URL对象,并使用该对象的createObjectURL()方法创建一个临时URL,最后将该URL赋给一个链接元素的href属性,从而实现文件下载。
以下是一个示例代码:
var xhr = new XMLHttpRequest(); xhr.open('GET', 'example.pdf', true); xhr.responseType = 'blob'; xhr.onload = function() { if (xhr.status === 200) { var blob = new Blob([xhr.response], {type: 'application/pdf'}); var url = URL.createObjectURL(blob); var a = document.createElement('a'); a.href = url; a.download = 'example.pdf'; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); } }; xhr.send();
其中,'example.pdf'是要下载的文件名或URL。在这个示例代码中,使用了Blob对象和URL.createObjectURL()方法创建了一个临时URL,然后将该URL赋给一个链接元素的href属性,最后模拟用户点击该链接实现文件下载。
评论