downloadFile(url, name) {
const xhr = new XMLHttpRequest();
// 使用open()方法初始化一个请求,第一个参数为请求的类型,第二个参数为请求的地址,第三个参数为是否异步
xhr.open('GET', url, true);
// 设置响应的数据类型
xhr.responseType = 'blob';
// 当请求加载完成时,触发onload事件
xhr.onload = () => {
// 如果请求的状态码为200,表示请求成功
if (xhr.status === 200) {
// 创建一个blob对象,第一个参数为响应的数据,第二个参数为blob对象的类型
const blob = new Blob([xhr.response], { type: xhr.getResponseHeader('content-type') });
// 创建一个a标签
const link = document.createElement('a');
// 为a标签设置href属性,值为blob对象的URL
link.href = URL.createObjectURL(blob);
// 为a标签设置下载文件名
link.download = name;
// 点击a标签,开始下载文件
link.click();
}
};
// 发送请求
xhr.send();
},
vue 下载图片或视频
于 2023-11-08 15:51:14 首次发布