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

  • Post author:
  • Post category:vue


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

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’!!!!!



版权声明:本文为weixin_45479634原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。