一、函數代碼
1 downloadReport(url) {
2 // 從url中找到文件名的索引位置
3 const index = url.lastIndexOf('/') + 1
4 // 匹配url后綴,檢查是否為pdf,是則窗口打開,否則下載到本地
5 if (url.lastIndexOf('.pdf') === -1) {
6 // 創建下載
7 const link = document.createElement('a')
8 link.style.display = 'none'
9 link.href = url
10 link.download = url.substring(index)
11 link.click()
12 this.$message({
13 message: `正在下載,請稍后在本地查看`,
14 type: 'success'
15 })
16 } else {
17 window.open(url, url.substring(index))
18 }
19 }
二、函數說明
indexOf('xxx'): 由左至右,查找某指定字符串在完整字符串中首次出現的位置索引。
lastIndexOf('xxx'): 由右至左,查找某指定字符串在完整字符串中首次出現的位置索引。
substring(startIndex, endIndex): 截取字符串從索引startIndex到endIndex間的字符,end為可選參數,不填意味着截取從startIndex到url.length-1位置的字符串。