Javascript Excel文件在使用axios vuejs下载时损坏
我正在尝试下载一个excel文件。我用过axios 我已经尝试了下面的代码Javascript Excel文件在使用axios vuejs下载时损坏,javascript,excel,vue.js,axios,blob,Javascript,Excel,Vue.js,Axios,Blob,我正在尝试下载一个excel文件。我用过axios 我已经尝试了下面的代码 axios.post(backendURL + 'api/client?file_name='+file_name,params, { file_name: file_name }, { responseType: 'blob' }).then((response) => { const url = URL.createObjectURL(n
axios.post(backendURL + 'api/client?file_name='+file_name,params, {
file_name: file_name
}, {
responseType: 'blob'
}).then((response) => {
const url = URL.createObjectURL(new Blob([response.data], {
type: 'application/vnd.ms-excel'
}))
const link = document.createElement('a')
link.href = url
link.setAttribute('download', file_name)
document.body.appendChild(link)
link.click()
});
我收到的错误是“Excel无法打开文件”filename.xlsx,因为文件格式或文件扩展名无效。请验证文件是否已损坏,以及文件扩展名是否与文件格式匹配”
我已经尝试了我在谷歌找到的所有解决方案,但没有任何效果。请帮助再次检查服务器上的excel文件。请描述代码的作用,以及它与问题代码的区别。不要只回答代码。我有excel文件,它是初步上传的。scenario.file是它的url=“”需要通过url从服务器下载它
downloadFile() {
axios({
url: this.scenario.file, //.substring(0, this.scenario.file.lastIndexOf("/"))
method: "GET",
headers: {"Accept": "application/vnd.ms-excel"},
responseType: "blob"
}).then(response => {
const fileURL = window.URL.createObjectURL(new Blob([response.data]));
const fileLink = document.createElement("a");
fileLink.href = fileURL;
fileLink.setAttribute("download", "file.xlsx");
document.body.appendChild(fileLink);
fileLink.click();
});
},