// 下载模板
export const downloadFile = (url: string, params: any) => {
const baseURL = '' // 公共路径
return new Promise(async (resolve, reject) => {
if (url) {
// 创建iframe下载
const argument = {
...params,
'X-Token': ''
}
const iframe = document.createElement('iframe')
iframe.src = `${baseURL}${url}${await serialize(argument)}`
iframe.style.display = 'none'
document.body.appendChild(iframe)
console.log(iframe.src, 'iframe.src')
resolve(iframe.src)
} else {
reject()
}
})
}
// 序列化结构
const serialize = (data: any) => {
let str = ''
for (const key in data) {
if (data[key] !== undefined && data[key] !== null && data[key] !== '') {
if (data.hasOwnProperty(key)) {
str += `${key}=${data[key]}&`
}
}
}
return str ? `?${str.substring(0, str.length - 1)}` : str
}```
文件下载适用于大部分主流前端框架
最新推荐文章于 2024-06-26 16:18:52 发布