vue2.0通过Axios导出excel文件(解决乱码问题)

在项目中遇到导出excel文件乱码问题,按照网上的一些教程和方法,但最后下载下来的文件仍是乱码,后来有大神相助,解决了这个问题,下面po出我的代码:

exportTemplate(this.form1.templateId, {
    date: date
}).then(res => {
    let fileName = res.headers['content-disposition'].split('=')[1]
    // 获取文件名
    let objectUrl = URL.createObjectURL(new Blob([res.data]))
    // 文件地址
    const link = document.createElement('a')
    link.download = fileName
    link.href = objectUrl
    link.click()
})
export function exportTemplate(templateId, query) {
  return request({
    url: '/performance/template/export/' + templateId,
    method: 'get',
    params: query,
    responseType: 'blob'
  })
}

 

 标红部分是最后解决问题的关键,我尝试过把它放在页面的接口调用代码中,依旧乱码,但是放在这里,文件乱码问题就没有了,希望能对你们有帮助

 

posted @ 2018-07-29 18:26  Ada·Gao  阅读(9897)  评论(2编辑  收藏  举报