用axios的post方式实现下载

送分小仙女□ 提交于 2020-08-10 23:43:27

亲测有效

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()
}

后端返回文件流即可

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!