vue-axios 下載 zip文件包


axios({
                method: 'get',
                url: '/api/group/export',
                params: data,
                headers: {
                    Authentication: localStorage.getItem('token'),
                    Accept: 'application/json'
                },
                responseType: 'blob'
            }).then(response => {
                let data = response.data;
                let fileReader = new FileReader();
                fileReader.onload = function() {
                    try {
                        let jsonData = JSON.parse(this.result);  // 說明是普通對象數據,后台轉換失敗
                    if (jsonData.code) {
                        that.$message.error(jsonData.message)
                    }
                    } catch (err) {   // 解析成對象失敗,說明是正常的文件流
                        const blob = new Blob([response.data], {type: 'application/zip'});
                        const filename = response.headers['content-disposition'];
                        const downloadElement = document.createElement('a');
                        const href = window.URL.createObjectURL(blob); //創建下載的鏈接
                        downloadElement.href = href;
                        [downloadElement.download] = [filename.split('=')[1]];
                        document.body.appendChild(downloadElement);
                        downloadElement.click(); //點擊下載
                        document.body.removeChild(downloadElement); //下載完成移除元素
                        window.URL.revokeObjectURL(href); //釋放blob對
                    } 
                };
                fileReader.readAsText(data) 
            }).catch((error) => {

            })

  


免責聲明!

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



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