需求:前端通過瀏覽器直接下載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)
}