用axios的post方式實現下載

親測有效

dowloadTest(){
  this.$axios.request({
    method:'post',
    url:'/api/filedue',
    data:{
      fileid:123
    },
    responseType:'arraybuffer'
  })
    .then((response)=>{
      this.download(response.data);
    })
},
 download (data) {
   if (!data) {
       return
   }
   let url = window.URL.createObjectURL(new Blob([data]))
   let link = document.createElement('a')
   link.style.display = 'none'
   link.href = url
   link.download = 'ea7c0cf24153e0cd62bc8b64841fd84d.jpg'; //下載後文件名
   link.setAttribute('download', 'ea7c0cf24153e0cd62bc8b64841fd84d.jpg')
   document.body.appendChild(link)
   link.click()
}

後端返回文件流即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章