1.首先需要拿到后端返回的URL下載地址
?2.寫個下載方法
// url 接口返回的下載地址。例如:https://cancer-research.oss-cn-beijing.aliyuncs.com/yuance-platform-permission/校內共享數據導入模板.xlsx
// name 文件名稱 例如: 校內共享數據導入模板
// 引入下載方法
import { staticFileDownload } from '@/utils/index'
// 使用下載方法
handleDownloadFile (url, name) {staticFileDownload(url, name)
},// 封裝的公共方法
export const staticFileDownload = (href, filename = '文件下載', fileType = 'xlsx') => {if (!href) {vm.$message.error('未發現文件,請檢查')return}var a = document.createElement('a') // 創建一個a標簽a.href = href // 給a標簽的href屬性值加上地址,如果是項目本地文件,寫絕對路徑 例如:/static/模板.xlsxa.target = '_self' // 在當前頁面打開a.download = `${filename}.${fileType}` // 設置下載文件的文件名,這里加上.xlsx指定文件類型,pdf文件就指定.pdf即可a.style.display = 'none' // 隱藏a標簽document.body.appendChild(a) // 將a標簽追加到文檔對象中a.click() // 模擬點擊了a標簽,會觸發a標簽的href的讀取,瀏覽器就會自動下載了a.remove() // 一次性的,用完就刪除a標簽
}
//? 如果不要求加文字名稱,可以用 window.open(url)