a标签实现单文件和多文件下载
最近的项目需要做单文件下载和多文件下载,经过努力终于实现了,想把实现的方法记录一下,分享给大家,希望对你有所帮助
单文件下载
单个的文件下载只需要使用a标签将文件目标放在href中,然后添加download属性。
download 属性规定被下载的超链接目标。
在a标签中必须设置 href 属性。
该属性也可以设置一个值来规定下载文件的名称。所允许的值没有限制,浏览器将自动检测正确的文件扩展名并添加到文件 (.img, .pdf, .txt, .html, 等等)。
<a href="文件目标" download="自定义下载文件的名称"></a>
多文件下载
创建a标签模拟点击事件
downloadMulti (name, url) {
var aDom = document.createElement('a')
var evt = document.createEvent('HTMLEvents')
evt.initEvent('click', false, false)
aDom.download = name
aDom.href = '/file/download?file_path=' + url
aDom.dispatchEvent(evt)
aDom.click()
},
其中/file/download?file_path= 是后台写的一个服务,只需要把链接拼好赋值给a标签的href。然后调用 downloadMulti (name, url) 将文件名和链接传入就OK了