js-文件的上传和下载

上传采用的是FormData https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader/readAsDataURL
下载采用的是a标签的形式

import Axios from 'axios'

class Utils {
    downloadFile(url, params) {
        Axios.get(url, {
            params,
            responseType: "blob",
            headers: {
                Authorization: localStorage.getItem("token"),
            }
        }).then(res => {
            if (res.data) {
                let urls = window.URL.createObjectURL(res.data);
                let link = document.createElement("a");
                link.style.display = "none";
                link.setAttribute("download", "export.xls");
                link.href = urls;
                document.body.appendChild(link);
                link.click();
            }
        })
    }
    uploadFile(file, url) {
        return new Promise((resolve, reject) => {
            if (file) {
                let formData = new FormData();
                formData.append("file", file);
                Axios.post(url, formData, {
                    headers: {
                        "Content-type": "multipart/form-data",
                        Authorization: localStorage.getItem("token"),
                    }
                }).then(resolve).catch(reject)
            } else {
                reject(new Error('没有上传文件!'))
            }
        })
    }
}
export default new Utils();

import Utils from '../../Utils/Utils.js'
使用:

 // 下载
  let obj = Object.assign({}, this.queryInfo);
 // download.downloadFile("api/manager/corInvoice/export",obj)
 // 上传
 download.uploadFile(file, "api/manager/corInvoice/import")
        .then((res) => {
          if (res.status == 200) {
            this.$message.success("导入文件成功!");
            this.initTable();
          }
        })
        .catch((err) => {
          console.log(err);
        });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容