移動端瀏覽器實現文件下載


由於蘋果手機限制,現在還不能實現瀏覽器下載問題,該方法只適用於安卓手機,已兼容 小米,oppo,華為等機型,暫無其他兼容性問題

      const name = '文件'
        // 這個方法在移動端已可以正常下載文件,在電腦端會自動打開一個頁面,並不會下載
        var a = document.createElement("a");
        a.setAttribute("href", fileUrl);
        a.setAttribute("target", "_blank");
        let clickEvent = document.createEvent("MouseEvents");
        clickEvent.initEvent("click", true, true);
        a.dispatchEvent(clickEvent);

        // 下面這個在移動端存在兼容性問題
        // var xhr = new XMLHttpRequest();
        // xhr.open('GET', state.pdfUrl, true);
        // xhr.responseType = "blob"; //關鍵的一步
        // xhr.onreadystatechange = function() {
        //   if (xhr.readyState == 4) {
        //     if (xhr.status == 200) {
        //       var blod = this.response;
        //       // 兼容IE
        //       if (!!window.ActiveXObject || "ActiveXObject" in window) {
        //         navigator.msSaveBlob(blod, filename)
        //       } else {
        //         // var src = URL.createObjectURL(blod);
        //         var eleLink = document.createElement("a");
        //         eleLink.download = filename;
        //         eleLink.href = URL.createObjectURL(blod);
        //         document.body.appendChild(eleLink);
        //         eleLink.click();
        //         URL.revokeObjectURL(eleLink.href)
        //         document.body.removeChild(eleLink)
        //       }
        //     }
        //   }
        // };
        // xhr.send()

  

 


免責聲明!

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



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