Vue POST请求导出文件及破损文件处理方式

本文介绍了一种使用Axios库进行POST请求并导出文件的方法,特别关注于避免文件导出时出现破损或乱码的问题。通过设置responseType为'blob',确保了文件的完整性和正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单点,说话的方式简单点:直接上代码~~

axios({            // 用axios发送post请求       
     method: 'post',            
     withCredentials: true,            
     url:url, // 请求地址            
     data: param,            
     responseType: 'blob',//防止导出文件破损或乱码            
     headers: {   'Content-Type': 'application/json'  }
       }).then(res => {            
       try {              
           var blob = new Blob([res.data]); 
           var filename = fileName;               
           var a = document.createElement('a');               
           var url =window.URL.createObjectURL(blob);               
           a.href = url;                
           a.download = filename;                
           var body = document.getElementsByTagName('body')[0];               
           body.appendChild(a);               
           a.click();                
           body.removeChild(a);                
           window.URL.revokeObjectURL(url);            
            } catch (e) {              
           
             }      
         })

我是按这块代码来处理的,如果你遇到导出文件破损或者乱码的情况
一定要检查一下你是否添加
responseType: ‘blob’!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值