亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javascript前端下載后臺傳來的文件流案例分析

發布時間:2020-08-19 09:55:52 來源:億速云 閱讀:241 作者:小新 欄目:開發技術

Javascript前端下載后臺傳來的文件流案例分析?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

前臺請求數據:

url: '/app/downloadApp',
 method: 'get',
 responseType: 'blob',
 params: data

設置接收參數格式為responseType: ‘blob',

downloadFile(res, fileName) {
   if (!res) {
    return
   }
   if (window.navigator.msSaveBlob) { // IE以及IE內核的瀏覽器
    try {
     window.navigator.msSaveBlob(res, fileName) // res為接口返回數據,這里請求的時候已經處理了,如果沒處理需要在此之前自行處理var data = new Blob([res.data]) 注意這里需要是數組形式的,fileName就是下載之后的文件名
     // window.navigator.msSaveOrOpenBlob(res, fileName); //此方法類似上面的方法,區別可自行百度
    } catch (e) {
     console.log(e)
    }
   } else {
    let url = window.URL.createObjectURL(new Blob([res]))
    let link = document.createElement('a')
    link.style.display = 'none'
    link.href = url
    link.setAttribute('download', fileName)// 文件名
    document.body.appendChild(link)
    link.click()
    document.body.removeChild(link) // 下載完成移除元素
    window.URL.revokeObjectURL(url) // 釋放掉blob對象
   }
 },
 download(){
   var data = {
    appId:this.appId
   }
   downloadAppAjax(data).then(res => {
     const filename = decodeURI(res.headers['content-disposition'].split(';')[1].split('=')[1]);
     console.log(filename)
     this.downloadFile(res.data,filename)
   })
  }

這里的downloadAppAjax調用后臺接口,請求數據,獲取后臺返回的數據沒有文件名,最后發現在header Content-Disposition屬性里 attachment;filename=app.jpg

所以我們要實現下載自動重命名就需要拿出filename,這里我們使用decodeURI對Content-Disposition屬性值進行解碼,拿到filename:

decodeURI(res.headers['content-disposition'].split(';')[1].split('=')[1]);

拿到文件流和文件名后 接收文件流并創建地址

let url =window.URL.createObjectURL(new Blob([res]))

接著利用a標簽進行下載即可。

感謝各位的閱讀!看完上述內容,你們對Javascript前端下載后臺傳來的文件流案例分析大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清徐县| 原平市| 麻栗坡县| 隆林| 富民县| 永平县| 濮阳县| 漳平市| 全州县| 凤山市| 南澳县| 东乌珠穆沁旗| 阳曲县| 山阳县| 祁东县| 报价| 宁阳县| 武汉市| 宜川县| 阜平县| 江陵县| 大关县| 南郑县| 融水| 道孚县| 夏河县| 泸西县| 察雅县| 丘北县| 华容县| 建瓯市| 运城市| 麻阳| 鹤庆县| 克山县| 临猗县| 曲靖市| 云霄县| 外汇| 中牟县| 石阡县|