poi导出excel至页面,firefox调用接口但无文件下载情况

如题

言简意赅的描述下问题,我是在Edge、Chorme中分别都测试了下载,均已成功,但是在firefox测试时无法弹出下载文件框,首先,排错得打着断点先确定你后端没问题哈。
这是我vue页面进行的配置,原代码为这样:

        let blob = new Blob([res], {type: "application/vnd.ms-excel"}); // res就是接口返回的文件流了
        let objectUrl = URL.createObjectURL(blob);
        let excel = document.createElement("a");
        excel.href = objectUrl;
        excel.download = this.templateName + '.xlsx';
        excel.click();
        window.URL.revokeObjectURL(objectUrl);

先说解决后的代码:

        let blob = new Blob([res], {type: "application/vnd.ms-excel"}); // res就是接口返回的文件流了
        let objectUrl = URL.createObjectURL(blob);
        let excel = document.createElement("a");
        excel.href = objectUrl;
        excel.download = this.templateName + '.xlsx';
       let evt = document.createEvent('MouseEvents')
        evt.initEvent('click', true, true)
        excel.dispatchEvent(evt)
        window.URL.revokeObjectURL(objectUrl);

其实我猜测应该是firefox不支持在js中进行click()操作?反正换成绑定事件进行事件点击就可以。具体原因也不是太清楚,稀里糊涂的就弄好了。希望能对焦头烂额的你有所帮助。
bug不可怕,可怕的是自己焦躁的心态,请诸君能沉下心从头到尾捋清楚问题出在何处~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值