解决跨域下a标签的download不生效问题

<Button
              onClick={()=> {
                  const oReq = new XMLHttpRequest();
                  oReq.open('GET', '//pricing.daily.alibaba-inc.com/monitor/eventListExcel.json', true);
                  oReq.responseType = 'arraybuffer';
                  oReq.withCredentials = true;
                  oReq.onload = function () {
                    const arrayBuffer = oReq.response; // Note: not oReq.responseText
                    if (arrayBuffer) {
                      const byteArray = new Uint8Array(arrayBuffer);
                      const aLink = document.createElement('a');
                      const blob = new Blob([byteArray], { type: 'application/vnd.ms-excel' });
                      let fileName = '报警通知结果.xls';

                      aLink.download = fileName;
                      aLink.href = URL.createObjectURL(blob);
                      aLink.target = '_blank';
                      aLink.className="J_notOpenInContainer";
                      document.body.appendChild(aLink);
                      aLink.click();
                    }
                  };
                  const form = new FormData();
                  form.append('_scm_token_', window._scm_token_);
                  oReq.send(form);
            
              }}
              params={ this.getQueryData()} >导出</Button>

 

转载于:https://my.oschina.net/u/867090/blog/1558295

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值