前端下载文件流和url下载文件

const download = (filename, link) => {
    let a= document.createElement('a'); 
    a.style = 'display: none';
    a.download = filename;
    a.href = link;
    document.body.appendChild(a);
    a.click();       
    document.body.removeChild(a);
}
//下载多个
    doDownload (data, triggerDelay, removeDelay) {
      if (data.mediaUuid) {
        setTimeout(function () {
          let href = Vue.prototype.$subAppCfg.api + constants.SERVICES.obs + 'files/download-stream/' + data.mediaUuid
          if ((data.mediaFormat === 'IMG') && data.mediaUuid) {
            href = Vue.prototype.$subAppCfg.api + constants.SERVICES.obs + 'files/view-stream/' + data.mediaUuid
            window.open(href, '_blank')
          } else {
            try {
              const frame = document.createElement('iframe') // 创建a对象
              frame.setAttribute('style', 'display: none')
              frame.setAttribute('src', href)
              frame.setAttribute('id', 'iframeName')
              document.body.appendChild(frame)
              setTimeout(function() {
                const node = document.getElementById('iframeName')
                node.parentNode.removeChild(node)
              }, removeDelay)
            } catch (e) {
              console.log('下载的文件出错', e)
            }
          }
        }, triggerDelay)
      } else {
        this.$message.error('暂无附件!')
      }
    }

const download (data, filename)=> {
  if (!data && !filename) {
    return
  }
  let url = window.URL.createObjectURL(new Blob([data]))
  let link = document.createElement('a')
  link.style.display = 'none'
  link.href = url
  link.setAttribute('download', filename)
  document.body.appendChild(link)
  link.click()
}

前台url 下载文件

      doDownload(data) {
        if (data.mediaUuid) {
          let href = Vue.prototype.$subAppCfg.api + constants.SERVICES.obs + 'files/download-stream/' + data.mediaUuid
          if (data.mediaFormat === 'IMG') {
            href = Vue.prototype.$subAppCfg.api + constants.SERVICES.obs + 'files/view-stream/APP/' + data.mediaUuid
            window.open(href, '_blank')
          } else {
            try {
              let link = document.createElement('a')
              link.style.display = 'none'
              link.href = href
              document.body.appendChild(link)
              link.click()
            } catch (e) {
              console.log('下载的文件出错', e)
            }
          }
        } else {
          this.$message.error('暂无附件!')
        }
      },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值