当前位置: 首页 > news >正文

vue3 文件类型传Form Data数据格式给后端

在 Vue 3 中,如果你想将文件(例如上传的 Excel 文件)以 FormData 格式发送到后端,可以通过以下步骤实现。这种方式通常用于处理文件上传,因为它可以将文件和其他数据一起发送到服务器。

首先,创建一个 Vue 组件,用于选择文件并将其封装到 FormData 中。

示例代码:

<template>
  <div>

         <input type="file" class="file-btn hoverPointer" accept=".xls,.xlsx"         @change="changeExcel($event)" />

 <div class="button2 primary" @click="clickImport">立即导入</div>
  </div>
</template>

<script setup lang="ts">

import { ref } from 'vue'

import { apiGetDownloadImportFile, apiPostImportData, apiPostImportDataLogPage } from '@/api/encouragementApi'

import { useAjax } from '@/hooks/common'

let fileValue = ref<any>(null) // 存储文件

const changeExcel = (e: any) => {

  const files = e.target.files

  if (files.length <= 0) {

    return false

  } else if (!/\.(xls|xlsx)$/.test(files[0].name.toLowerCase())) {

    console.log('上传格式不正确,请上传xls或者xlsx格式')

    return false

  }

  fileValue.value = files[0]

}

// 立即导入

const clickImport = () => {

  const formData = new FormData()

  formData.append('file', fileValue.value)

// 调接口

  useAjax({

    apiName: apiPostImportData({

      encourageTypeId: 1,

      file: formData

    }),

    success: (res: any) => {

      console.log(res)

    },

    failure: () => {

      console.log('导入失败')

    }

  })

}

</script>

http://www.dtcms.com/a/29643.html

相关文章:

  • 骶骨神经
  • GB28181协议详解
  • MyBatis框架详解与核心配置解读
  • 基于Django的购物商城平台的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 数字内容体验的技术支持包含哪些核心功能?
  • 第八届先进算法与控制工程国际学术会议(ICAACE 2025)
  • 安科瑞能源物联网平台助力企业实现绿色低碳转型
  • 从 Linux 权限管理历史看 sudo、SUID 和 Capability 的演进
  • 毕业项目推荐:基于yolov8/yolo11的水稻叶片病害检测识别系统(python+卷积神经网络)
  • 数据结构——二叉树经典习题讲解
  • Linux下文件权限与安全
  • k8s故障处理经典案例(Classic Case of k8s Fault Handling)
  • QML Grid响应式布局要点(Qt 5.12.1)
  • 不同安装路径重复R包清理
  • 浅谈Word2vec算法模型
  • 【Mastering Vim 2_05】第四章:深入理解 Vim 的结构化文本
  • AI回答:Linux C/C++编程学习路线
  • php重写上传图片成jpg图片
  • Sui 如何支持各种类型的 Web3 游戏
  • UI 自动化测试框架介绍
  • vue项目启动时报错:error:0308010C:digital envelope routines::unsupported
  • 火语言RPA--Excel插入空行
  • SpringCloud-使用FFmpeg对视频压缩处理
  • MyBatis中的日志和映射器说明
  • nvm安装、管理node多版本以及配置环境变量【保姆级教程】
  • 详解分布式ID实践
  • 解决 Ubuntu 中 Docker 安装时“无法找到软件包”错误
  • 现场可以通过手机或者pad实时拍照上传到大屏幕的照片墙现场大屏电子照片墙功能
  • Renesas RH850 IAR编译时变量分配特定内存
  • Python的那些事第二十八篇:数据分析与操作的利器Pandas