前端下載文件流並且獲取heads中的filename文件名且解決中文亂碼的方法


function axgetdata(url,params){
axios({
method: ‘get’,
url: url,
params: params,
responseType: ‘blob’
}).then((res) => {

const link = document.createElement('a')
let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'});
//獲取heads中的filename文件名
let temp = res.headers["content-disposition"].split(";")[1].split("filename=")[1];
//對文件名亂碼轉義--【Node.js】使用iconv-lite解決中文亂碼
let iconv = require('iconv-lite'); 
iconv.skipDecodeWarning = true;//忽略警告
let fileName = iconv.decode(temp, 'gbk');
console.log('fileName_',fileName)
// return
link.style.display = 'none'
link.href = URL.createObjectURL(blob);
link.setAttribute('download', fileName)
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}).catch(error => {
       //console.log(error);
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM