需求:前端通过浏览器直接下载public下的文件。
思路:静态资源可以利用a标签或者借助函数方法下载。
将静态资源文件直接放于public目录下,打包时public文件不会被编译。
1.利用a标签下载
<a href="/HCWebSDKPlugin.exe" download="HCWebSDKPlugin.exe">插件下载</a>
静态资源的路径,在public文件夹下路径是/文件名
2.借助函数方法下载
/*
@param {string} url 静态资源url
@param {string} filename 静态资源文件名
@param {string} target
*/
const fileUrlHandled = ({ url, filename, target }) => {
const downloadElement = document.createElement('a')
downloadElement.style.display = 'none'
downloadElement.href = url
if (target) {
downloadElement.target = '_blank'
}
downloadElement.rel = 'noopener noreferrer'
if (filename) {
downloadElement.download = filename
}
document.body.appendChild(downloadElement)
downloadElement.click()
document.body.removeChild(downloadElement)
}