javascript实现文件下载

2020-09-10  本文已影响0人  程序小小黑

第1步:调用接口

    var _this=this
               this.axios({
      url:this.HOST + api,
      method:'post',
      params:{
        fileId:fileId //后端所需参数
      },
      responseType:'arraybuffer' //此处注意请求头,json,buffer,blob
      }).then(res=>{
        var fileName = that.files.name //此处获取文件名称
        that.download(res.data,fileName) //此处跳转到第三步
      })

第2步:处理返回值,并下载

    download (data,fileName) {
      if (!data) {
        return
      }
        let url = window.URL.createObjectURL(new Blob([data])) //创建下载链接
      let link = document.createElement('a') //创建a标签
      link.style.display = 'none'  //将a标签隐藏
      link.href = url  //给a标签添加下载链接
      link.setAttribute('download', fileName) // 此处注意,要给a标签添加一个download属性,属性值就是文件名称 否则下载出来的文件是没有属性的,为空
      document.body.appendChild(link)  
      link.click()  //执行a标签
      }
上一篇下一篇

猜你喜欢

热点阅读