js HTTP 下載 處理 api 請求 返回數據流


axios({
            method: 'post',
            url: 'url....',
            data:{},
            timeout: 1000*60,
            responseType: 'blob',// 此選項必須設置  否則保存后的文件無法播放
            headers: {
                'X-Requested-With': 'XMLHttpRequest',
                'Content-Type': 'application/json; charset=UTF-8',
            }
        }).then((response) => {
            if (response && (response.status === 200 || response.status === 304 || response.status === 400)) {
                var fileName = response.headers['content-disposition'].split(';')[1].split('=')[1];
                var contentType = response.headers['content-type'];
                var blob = new Blob([response.data])
          //如果是IE 通過msSaveBlob 下載 ,否則走h5下載 if(navigator.msSaveBlob){ navigator.msSaveBlob(blob, fileName); }else{ var a = document.createElement('a'); a.download = fileName; a.innerHTML = 'download'; a.href = URL.createObjectURL(blob);
            //自定義事件觸發 var event = document.createEvent('MouseEvents'); event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); a.dispatchEvent(event); URL.revokeObjectURL(a.href) // 釋放URL 對象 } return '下載成功!'; } else { return '網絡異常'; } }).catch(error=>{
      return  '網絡異常';
})

  


免責聲明!

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



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