之前在網上看到一個博主寫的前端通用的下載文件的方法,個人覺得很實用,所以mark一下,方便以后查閱
源文地址(源文還有上傳/下載excel文件方法)
因為項目要求要兼容IE瀏覽器,所以完善了一下之前博主的方法
- IE 瀏覽器:使用微軟自帶的msSaveBlob 方法,a標簽的download屬性不支持IE
- 谷歌瀏覽器(只測試過谷歌):創建a標簽 ,添加download屬性,模擬鼠標點擊事件
//這里res.data是返回的blob對象 var blob = new Blob([res.data.fileData], {type: 'application/json;charset=utf-8'}); //application/vnd.openxmlformats-officedocument.wordprocessingml.document這里表示doc類型 var href = window.URL.createObjectURL(blob); //創建下載的鏈接 if (window.navigator.msSaveBlob) { try { window.navigator.msSaveBlob(blob, 'model.json') } catch (e) { console.log(e); } } else { // 谷歌瀏覽器 創建a標簽 添加download屬性下載 var downloadElement = document.createElement('a'); downloadElement.href = href; downloadElement.target = '_blank'; downloadElement.download = 'model.json'; //下載后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //點擊下載 document.body.removeChild(downloadElement); //下載完成移除元素 window.URL.revokeObjectURL(href); //釋放掉blob對象 }