js怎么实现下载文件
- 使用a标签的download属性
在HTML中,可以使用a标签的download属性来实现文件下载。例如,以下代码可以下载名为“example.pdf”的PDF文件:
<a href="example.pdf" download>Download PDF</a>
- 使用XMLHttpRequest对象
可以使用XMLHttpRequest对象来发送GET请求,并将响应内容保存到Blob对象中。然后,可以创建一个链接或使用FileSaver.js库来触发文件下载。
var xhr = new XMLHttpRequest();
xhr.open('GET', 'example.pdf', true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
var blob = new Blob([this.response], {type: 'application/pdf'});
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = 'example.pdf';
link.click();
}
};
xhr.send();
- 使用Fetch API
使用Fetch API发送GET请求,将响应内容保存到Blob对象中,然后创建一个链接或使用FileSaver.js库来触发文件下载。
fetch('example.pdf')
.then(function(response) {
return response.blob();
})
.then(function(blob) {
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = 'example.pdf';
link.click();
});
- 使用FileSaver.js库
FileSaver.js是一个用于在浏览器中保存文件的JavaScript库。可以使用它来将Blob对象保存到文件。
fetch('example.pdf')
.then(function(response) {
return response.blob();
})
.then(function(blob) {
saveAs(blob, 'example.pdf');
});
原文地址: https://www.cveoy.top/t/topic/byos 著作权归作者所有。请勿转载和采集!