export function exportFile(data: any, fileName: string) { // 聲明blob對象 const streamData = new Blob([data], { type: 'application/octet-stream' }); // ie || edge 瀏覽器 if (window.navigator && window.navigator.msSaveOrOpenBlob) { // msSaveOrOpenBlob => 提供保存和打開按鈕 // msSaveBlob => 只提供一個保存按鈕 window.navigator.msSaveOrOpenBlob(streamData, fileName); } else { // 創建隱藏的可下載鏈接 const link = document.createElement('a'); // 下載文件名稱 link.download = fileName; // link.style.visibility = 'hidden'; link.style.display = 'none'; // 字符內容轉變為blob地址 link.href = window.URL.createObjectURL(streamData); // 觸發點擊 document.body.appendChild(link); link.click(); // 移除 document.body.removeChild(link); } }
以上是Js 導出pdf,excel,xls.txt等文件到本地的方法;
但是最近又來個新需求;想要支持導出文件時,用戶可以選擇下載文件的目錄地址;(就和我們下載lol時,選擇下載lol客戶端在電腦的哪個盤下),然后我發現這個和瀏覽器的下載設置有關,比如:
谷歌瀏覽器設置中通過更改這個設置,下載就會出現選擇目錄;
那有問,怎么通過js 來修改瀏覽器的下載設置呢?(哦呵,有毒吧,我不知道~~~)