const dealFileName = (headers, defaultFileName) => {
const contentDisposition = headers['content-disposition']
// 解析 filename 属性
const matches = contentDisposition.match(/filename=([^;]+)/i)
if (matches && matches[1]) {
// 解码文件名
const encodedFileName = matches[1]
const fileName = decodeURIComponent(encodedFileName)
return fileName
}
// 后台未提供文件名,默认名称
if (defaultFileName != undefined) {
return defaultFileName
}
return '文件下载.xlsx'
}
//下载模板
async function downtemple() {
const res = await fetchdownTemplateData(idParams.value)
const downloadFileName = dealFileName(res.headers)
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
let url = window.URL.createObjectURL(blob)
let link = document.createElement('a')
link.href = url
// let downloadFileName = `${downtempleTitle.value}-导入数据模板.xls`
link.setAttribute('download', downloadFileName)
document.body.appendChild(link)
link.click()
dialogVisible.value = false
}