前端使用a标签下载文件并修改文件名
原本使用url是可以直接用window.href = url 来下载,但是这样的话会因为同源问题而download属性设置不生效导致文件名还是下载的时候的url后缀文件名,使用这种方式的话文件名就生效const xhr = new XMLHttpRequest();xhr.open(‘GET’, ‘url’, true);xhr.responseType = ‘blob’;xhr.onload =
·
原本使用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();
更多推荐
已为社区贡献1条内容
所有评论(0)