js 瀏覽器直接下載文件(不借助服務器)

需求:前端通過瀏覽器直接下載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)
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容