//传进来一个资源的url
downRow(data) {
let ajax= new XMLHttpRequest();
ajax.open('GET', data, true);
ajax.responseType = 'blob';
//ajx.withCredentials = true;//如果跨域
ajax.onload = function (oEvent) {
let content = ajax.response;
let a = document.createElement('a');
a.download = 'recording.mp3';
a.style.display = 'none';
let blob = new Blob([content]);
a.href = URL.createObjectURL(blob);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
};
ajax.send();
},
当a标签遇到responseType 不是为blob的时候,a标签将不能下载,即使加了download
所以这时候通过创建ajax,发起请求,修改responseType为blob,将获取到的新建blob对象,
传入a标签的href中即可