axios 上传 和下载 excel 文件

server/2025/1/16 1:45:30/

axios 上传 和下载 excel 文件

  1. 上传 excel 文件

    1. axios 请求配置

      javascript">import axios from 'axios'// 导入(校验数据)
      export const postFile = (data) => {return axios.post({url: `上传地址`,data,headers: {'Content-Type': 'multipart/form-data'}})
      }
      
    2. 调用方法处

      javascript">
      // 上传文件校验
      const uploadCheck = async () => {try {const file = new FormData()file.append('file', importFile.value)// 调用后端对应的接口const res = await postFile(file)} catch (error) {console.log('error', error)}
      }
      
  2. 下载 excel 文件

    1. axios 请求

      javascript">import axios from 'axios'// 导入模板下载
      export const downloadFile = () => {return axios.post({url: `后端下载地址`,responseType: 'blob' // 指定响应类型为 blob})
      }
      
    2. 调用方法处

      javascript">
      const downLoadFileHandle = async () => {try {const res = await downloadFile()if (res) {exportExcel(res, '模板')}} catch (error) {console.log(error)}
      }/*** 二进制流转excel下载* @param tSource* @returns*/
      export const exportExcel = function (blob: Blob, name?: string) {const url = window.URL.createObjectURL(new Blob([blob], { type: "application/octet-stream;charset=UTF-8" }))const link = document.createElement('a');link.href = url;link.setAttribute('download', name + '.xls'); // 设置文件名document.body.appendChild(link);link.click(); // 模拟点击下载文件document.body.removeChild(link); // 下载完成后移除元素window.URL.revokeObjectURL(url); // 释放URL对象
      }
      

http://www.ppmy.cn/server/103481.html

相关文章

AI绘画助力打工人降本增效:我的摸鱼副业之旅

在这个快节奏的时代,作为一名程序员,我深知时间的宝贵。然而,工作中总有那么一些“摸鱼”时刻,让我想要寻找一种既能放松心情又不耽误赚钱的方式。机缘巧合之下,我发现了AI绘画这片新天地,不仅让我的业余时…

Spring Cloud Gateway 请求转发源码分析

一、背景 Spring Cloud Gateway 作为一种微服务网关组件,相信大家都不陌生,一个请求经过Spring Cloud Gateway是如何转发出去的,今天我们就来分析一下这部分的源码。 二、正文 下面这张图大家在学习Spring Cloud Gateway的时候肯定见过&am…

集合及数据结构第五节————ArrayList的介绍和应用

系列文章目录 集合及数据结构第五节————ArrayList的介绍和应用 ArrayList的介绍和应用 什么是ArrayLisArrayList使用简单的洗牌算法杨辉三角 文章目录 系列文章目录集合及数据结构第五节————ArrayList的介绍和应用 ArrayList的介绍和应用 一、ArrayList1.什么是Arra…

【C++】定义类型别名的三种方式及其优缺点:typedef,#define 和 using

引言 类型别名是一种给已存在的类型创建一个新名字的方式。这个新的名字(别名)和原类型在语义上是完全相等的,可以在任何原类型可以使用的地方使用。类型别名并不创建一个新的类型,只是为了提高代码的可读性和可维护性。 在C中&…

libLZMA库iOS18平台编译

1.下载xz源码: 使用autogen.sh生成configure文件 2.生成makefile rm -rf ./build/iOS && mkdir -p ./build/iOS && cd ./build/iOS && ../../configure --host=arm-apple-darwin64 --prefix=`pwd`/Frameworks/lzma CC="xcrun -sdk iphoneos cl…

CTF入门教程(非常详细)从零基础入门到竞赛,看这一篇就够了!

一、CTF简介 CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。…

CRLF will be replaced by LF the next time Git touches it 如何解决?

报错信息展示 warning: in the working copy of ‘src/main/kotlin/com/shuyixiao/yixiaoplugins/PluginActivationState.kt’, CRLF will be replaced by LF the next time Git touches it 23:00:31.176: [yixiaoPlugins] git -c credential.helper -c core.quotepathfalse -c…

C++ 设计模式(4. 建造者模式)

建造者模式(也被成为生成器模式),是一种创建型设计模式,软件开发过程中有的时候需要创建很复杂的对象,而建造者模式的主要思想是将对象的构建过程分为多个步骤,并为每个步骤定义一个抽象的接口。具体的构建…