laravel - 使用 VueJs 处理 Laravel Excel::download

标签 laravel vue.js

这就是我所做的

在 Laravel 中

return Excel::download($report, 'coupons-report.xlsx');

在 Vue 中

 async submitDates() {
      await this.$axios({
        url: "/exports/coupons?from=01-01-2020&to=30-03-2022", //your url
        method: "GET",
        responseType: "blob"
      }).then(response => {
        const url = window.URL.createObjectURL(new Blob([response.data]));
        const link = document.createElement("a");
        link.href = url;
        link.setAttribute("download", "file");
        document.body.appendChild(link);
        link.click();
      }); // Please catch me!
    },

我的期望

  • 下载了包含预期数据的 Excel 文件

实际发生的情况

  • 一个包含 null 的文件。

注意:当我使用 Postman 并将响应保存为文件时,我得到了正确的结果。

最佳答案

我不确定这是否会对您有帮助,但这就是我使用 Laravel Excel 从 VueJS 组件下载文件的方法:

window.open("/exports/coupons?from=01-01-2020&to=30-03-2022").focus();

这将打开一个新窗口,下载文件,然后关闭。

关于laravel - 使用 VueJs 处理 Laravel Excel::download,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71705612/

相关文章:

laravel - vee-validate 中的自定义验证消息

javascript - 将数据从表更新到数据库?

javascript - vue-resource get 请求不适用于 Laravel 5.3

javascript - 链接 jquery 文件未按预期工作

Laravel 分组多个中间件

Laravel 唯一和存在验证 - 类不存在

javascript - 如何更改 JavaScript 中动态创建的按钮的颜色/大小/等?

laravel - Vue 多选不显示

php - 如何在 Laravel 中将一个实例与多个实例分离 | Eloquent 数据透视表?

cordova - npm run build = 没有图像