使用了直接动态添加a标签的方法,还是会打开预览

let link = document.createElement('a');
link.style.display = 'none';
link.href = e.attachment;// https://sss.mulook.com/book/17956324022668224770/1.xlsx
document.body.appendChild(link);
link.click();

解决

let link = document.createElement('a')
let image = document.createElement('image')
let url = e.attachment
let downloadName = url.slice(url.lastIndexOf("/") + 1)
console.log(url, downloadName);
// 这里是将url转成blob地址,
image.setAttribute("crossOrigin", "anonymous") // 这句可以解决跨域问题
fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
	link.href = URL.createObjectURL(blob)
	// console.log(link.href)
	link.download = downloadName
	document.body.appendChild(link)
	link.click()
})
GitHub 加速计划 / vu / vue
108
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐