vue2.0 Axios를 통해 excel 파일 내보내기(디코딩 문제 해결)

1186 단어 프런트엔드
텍스트:https://www.cnblogs.com/adaGao-frontEnd/p/9386204.html프로젝트에서 excel 파일을 내보내는 난자 문제에 부딪혔습니다. 인터넷의 일부 강좌와 방법에 따라 다운로드했지만 마지막에 다운로드한 파일은 여전히 난자입니다. 나중에 큰 신이 도와주셔서 이 문제를 해결했습니다. 다음은 제 코드를 보여 드리겠습니다.
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'
  })
}

서비스 포트:
   response.setContentType("application/vnd.ms-excel;charset=utf-8");
   response.setHeader("Content-Disposition","attachment;filename=" + fileName + EXCEL03_SUFFIX);

빨간색 부분은 마지막으로 문제를 해결하는 관건이다. 나는 그것을 페이지의 인터페이스 호출 코드에 놓아 보았지만 여전히 부호화되었다. 그러나 여기에 놓으면 파일 부호화 문제가 없어진다. 너희들에게 도움이 되었으면 좋겠다.

좋은 웹페이지 즐겨찾기