最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)下載(文件流式)方法詳解與完整實例源碼

 更新時間:2022年12月10日 08:51:29   作者:阿晏_  
這篇文章主要介紹了js實現(xiàn)下載(文件流式)的方法,需要的朋友可以參考下

在介紹JS文件流式下載文件方法之前,先記錄下window.location.href的使用方法

window.location.href的用法

javascript中的location.href有很多種用法,主要如下。

self.location.href="/url"http://當前頁面打開URL頁面
location.href="/url"http://當前頁面打開URL頁面
windows.location.href="/url" //當前頁面打開URL頁面,前面三個用法相同。
this.location.href="/url" //當前頁面打開URL頁面
parent.location.href="/url" // 在父頁面打開新頁面
top.location.href="/url" //在頂層頁面打開新頁面

如果頁面中自定義了frame,那么可將parent self top換為自定義frame的名稱,效果是在frame窗口打開url地址

此外,window.location.href=window.location.href;window.location.Reload()和都是刷新當前頁面。區(qū)別在于是否有提交數(shù)據(jù)。

當有提交數(shù)據(jù)時,window.location.Reload()會提示是否提交,window.location.href=window.location.href;則是向指定的url提交數(shù)據(jù)

JS文件流式下載文件源碼實例

下面是使用axios寫的一個完整JS文件流式下載文件的完整源碼

const apiurl = '' // 接口地址
this.exportLoading = true
axios.post(apiurl, params, {
   'responseType': 'blob'  //設置響應的數(shù)據(jù)類型為一個包含二進制數(shù)據(jù)的 Blob 對象,必須設置?。?!
}).then( (response) =>{
    console.log('response', response, response.data.size)
    this.exportLoading = false
    if(response.data){
        if(response.data.size < 1000){
        	// 根據(jù)文件流的大小判斷異常情況
            if(response.data.size == 63){
                this.$message.warning('查無結果');
                return
            }
            if(response.data.size == 84){
                this.$message.warning('導出數(shù)據(jù)超出最大限制值');
                return
            }
        }else{
            const blob = new Blob([response.data],{type: 'application/vnd.ms-excel'})
            const linkNode = document.createElement('a');
            linkNode.style.display = 'none';
            linkNode.href = URL.createObjectURL(blob); //生成一個Blob URL
            document.body.appendChild(linkNode);
            linkNode.click();  //模擬在按鈕上的一次鼠標單擊
            URL.revokeObjectURL(linkNode.href); // 釋放URL 對象
            document.body.removeChild(linkNode);
        }
    }
}).catch( (error) =>{
    console.log(error);
    this.exportLoading = false
});

相關文章

  • 手機安裝GreasyFork油猴js腳本的教程

    手機安裝GreasyFork油猴js腳本的教程

    Iceraven瀏覽器需要安裝Tampermonkey插件來安裝GF油猴腳本,本文給大家介紹手機安裝GreasyFork油猴js腳本的教程,安裝過程給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-12-12
  • JS設置隨機出現(xiàn)2個數(shù)字的實例代碼

    JS設置隨機出現(xiàn)2個數(shù)字的實例代碼

    這篇文章給大家分享基于js設置隨機出現(xiàn)2個數(shù)字的實例代碼,在文章下面給分享js產(chǎn)生隨機數(shù)的幾個用法介紹,感興趣的朋友一起看看吧
    2017-07-07
  • JavaScript編寫簡單的計算器

    JavaScript編寫簡單的計算器

    這篇文章主要介紹了JavaScript如何編寫簡單的計算器,功能很簡單,可以實現(xiàn)加減乘除功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-11-11
  • js計算文本框輸入的字符數(shù)

    js計算文本框輸入的字符數(shù)

    這篇文章主要介紹了js計算文本框輸入的字符數(shù),具有一定的參考價值,感興趣的朋友可以參考一下
    2015-10-10
  • js實現(xiàn)帶緩沖效果的仿QQ面板折疊菜單代碼

    js實現(xiàn)帶緩沖效果的仿QQ面板折疊菜單代碼

    這篇文章主要介紹了js實現(xiàn)帶緩沖效果的仿QQ面板折疊菜單代碼,通過JavaScript定時函數(shù)遞歸調(diào)用實現(xiàn)折疊菜單的緩沖效果,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • JS代碼屏蔽F12,右鍵,粘貼,復制,剪切,選中,操作實例

    JS代碼屏蔽F12,右鍵,粘貼,復制,剪切,選中,操作實例

    在本篇文章里小編給大家分享的是關于利用JS代碼屏蔽F12,右鍵,粘貼,復制,剪切,選中,操作,需要的朋友們學習下。
    2019-09-09
  • 再談Javascript中的異步以及如何異步

    再談Javascript中的異步以及如何異步

    大家都知道js是單線程的,執(zhí)行起來是順序的,在順序的業(yè)務邏輯中當然沒有問題,如果遇到可以并發(fā)執(zhí)行的業(yè)務邏輯,再排隊就很低級了!所以這里我們再來簡單的談談JS中的異步以及如何異步。
    2016-08-08
  • JavaScript與Div對層定位和移動獲得坐標的實現(xiàn)代碼

    JavaScript與Div對層定位和移動獲得坐標的實現(xiàn)代碼

    JavaScript與Div對層定位和移動獲得坐標的實現(xiàn)代碼,需要的朋友可以參考下。
    2010-09-09
  • uniapp uni-swipe-action 滑動操作狀態(tài)恢復功能實現(xiàn)

    uniapp uni-swipe-action 滑動操作狀態(tài)恢復功能實現(xiàn)

    按照uni-app官方文檔的寫法,當前一條滑動確認之后頁面列表刷新但是滑動的狀態(tài)還在,我們需要在滑動確認之后 頁面刷新 滑動狀態(tài)恢復,下面小編給大家分享uniapp uni-swipe-action 滑動操作狀態(tài)恢復功能實現(xiàn),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • JS保留兩位小數(shù) 四舍五入函數(shù)的小例子

    JS保留兩位小數(shù) 四舍五入函數(shù)的小例子

    這篇文章主要介紹了JS保留兩位小數(shù) 四舍五入函數(shù)的小例子,有需要的朋友可以參考一下
    2013-11-11

最新評論

佳木斯市| 岱山县| 平顺县| 鲁甸县| 彰化县| 巴林右旗| 连云港市| 周宁县| 珠海市| 永州市| 揭阳市| 民县| 邹城市| 城口县| 丰顺县| 中方县| 孙吴县| 景宁| 奉节县| 依兰县| 收藏| 平远县| 余干县| 沂水县| 滕州市| 绥滨县| 黄骅市| 灵宝市| 芦溪县| 宁南县| 齐齐哈尔市| 凉山| 西华县| 碌曲县| 靖宇县| 徐闻县| 鲜城| 平湖市| 遂溪县| 平谷区| 淮北市|