vue+axios 前端下載文件-解決後端返回的文件流亂碼問題

打印出後端返回的數據:亂碼了 前端

解決方法:

在前端請求的時候攜帶請求頭responseType:blob,ios

axios({
        method: 'GET',
        url: '/api',
        params: params,
        responseType: 'blob'
    }).then(res=>{
        console.log(res)
        let blob = new Blob([res.data], {type: "application/vnd.ms-excel"});
        let url = window.URL.createObjectURL(blob);
        window.location.href = url;
    }).catch(err=>{
        console.log(err)
    })
 
複製代碼

攜帶請求頭後,再次打印後端返回的數據,data爲Blob對象了, axios

👍【注意】:後端

axios使用封裝事後的請求設置請求頭responseType:'blob'不生效,推薦你們使用axios({})的方式,不要使用如:axios.get()的方式api

相關文章
相關標籤/搜索