前端用vue怎么接收并导出文件

  1. window.location.href = "excel地址"
  1. 如果是 get 请求,那直接换成 window.open(url) 就行了
  1. 创建一个隐藏的 iframe,把 iframe 的 src 指向这个 url,就可以下载了
  1. 如果是 post 请求,那创建一个 form,target 指向这个 iframe。让后台加一个文件下载的 http response header Content-Disposition: attachment; filename="filename.xlsx", 浏览器自己会处理文件下载的。

本人用的是第三种方法

生明方法  downloadFile

module.exports = (url = ``) => {
    try {
        const elemIF = document.createElement(`iframe`);
        elemIF.src = url;
        elemIF.style.display = `none`;
        document.body.appendChild(elemIF);
    } catch (e) {
        console.log(e);
    }
};

调用downloadFile(url)

downloadFile(`${this.$base.path.nodeServiceHost}/downLoad?url=/zhyj/busi/download&fastReportId=${row.fastReportId || ``}`);

本文来自博客园,作者:喆星高照,转载请注明原文链接:https://www.cnblogs.com/houxianzhou/p/13534402.html

原文地址:https://www.cnblogs.com/houxianzhou/p/13534402.html