原本使用url是可以直接用window.href = url 来下载,但是这样的话会因为同源问题而download属性设置不生效导致文件		 名还是下载的时候的url后缀文件名,使用这种方式的话文件名就生效

const xhr = new XMLHttpRequest();
xhr.open(‘GET’, ‘url’, true);
xhr.responseType = ‘blob’;
xhr.onload = function() {
if (this.status === 200) {
const blob = new Blob([this.response]);
const blobUrl = window.URL.createObjectURL(blob);
const a = document.createElement(‘a’);
a.href = blobUrl;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(blobUrl);
}
};
xhr.send();

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐