鍍金池/ 問答/Java  PHP  HTML/ 后端返回的world文件鏈接,前端要怎么才能下載到本地?

后端返回的world文件鏈接,前端要怎么才能下載到本地?

后端現(xiàn)在返回一個地址,在瀏覽器直接打開是可以自己下載的,但是用jsIE下載怎么寫?后端說用iframe是什么意思?

回答
編輯回答
解夏

文檔連接的話

在接口的回調(diào)函數(shù)里面加上下面代碼

var a = document.createElement('a');
a.href = url;
a.download = 'test.word';
a.click();

如果返回的是個文檔的話,可以用fetch接收并下載

 fetch("/api", { credentials: 'include' }).then(x => x.blob()).then(x => {
            var a = document.createElement('a');
            var url = window.URL.createObjectURL(x);   // 獲取 blob 本地文件連接 (blob 為純二進制對象,不能夠直接保存到磁盤上)
            a.href = url;
            a.download = 'test.pdf';
            a.click();
            window.URL.revokeObjectURL(url);
        })
2017年7月3日 12:16
編輯回答
不討喜

通過iframe標(biāo)簽中的src屬性可以下載文件,src即為后臺返給前端的url,具體的寫法如下:

               
function downloadFile(url) {   
        try{ 
            var elemIF = document.createElement("iframe");   
            elemIF.src = url;   
            elemIF.style.display = "none";   
            document.body.appendChild(elemIF);   
        }catch(e){ 
        } 
    }
<input type="button" value="進入1" onClick = "downloadFile('http://??')">
2018年7月28日 19:24