美文网首页
xlsx文件下载

xlsx文件下载

作者: 逆流成河wsy | 来源:发表于2017-12-11 19:06 被阅读34次

原理和下载车贴二维码一样
调用接口

   this.$service.downloadCarInfo(this.searchData, this.$store.getters.token, 'download.xlsx')

处理数据

import { fetch } from '@/utils/fetch'
import axios from 'axios'
import baseUrl from '@/config/base-url'
import api from '@/service/api/'
import { download } from '@/utils/common'
let downloadCarInfo = (params, accessToken, fileName) => {
  //  file 对象只是 blob 对象的一个更具体的版本,blob 存储着大量的二进制数据,并且 blob 的 size 和 type 属性,都会被 file 对象所继承。
    // 所以, 在大多数情况下,blob 对象和 file 对象可以用在同一个地方
    axios({
        baseURL: baseUrl || '/',
        method: "get",
        url: api.DOWNLOAD_CAR_INFO,
        params: params,
        responseType: "blob",
        headers: {
            "Content-Type": "application/json;charset=utf-8",
            accessToken: accessToken
        }
    }).then(res => {
        download(fileName, res.data);
    });
}
  
export const download = ((fileName, data) => {
    var a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
    return function(fileName, data) {
        var url = window.URL.createObjectURL(data);
        a.href = url;
        a.download = fileName;
        a.click();
        window.URL.revokeObjectURL(url);
    };
})()

注释:其实没必要写成立即执行函数

相关文章

网友评论

      本文标题:xlsx文件下载

      本文链接:https://www.haomeiwen.com/subject/lokwixtx.html