首页 > 其他分享 >vue3+el-upload上传文件

vue3+el-upload上传文件

时间:2024-09-09 15:24:30浏览次数:12  
标签:el const formData upload value file vue3 ElMessage data

<template>
  <el-upload
        class="avatar-uploader"
        action="#"
        :headers="headers"
        :http-request="uploadAction"
        :on-change="onchange"
        :file-list="fileListCopy.data"
        ref="upload"
        :multiple="true"
        :show-file-list="false"
      >
        <el-button>导入回路</el-button>
      </el-upload>
</template>
<script lang="ts" setup>
import { ref, onMounted, getCurrentInstance } from "vue";
import { ElMessage } from "element-plus";
const urlValue = ref("你的接口地址");
const fileContent = ref(null);// 记录file文件流内容
const headers = reactive({ "Content-Type": "multipart/form-data" });//请求头
const cns = getCurrentInstance();
const globObj = cns.appContext.config.globalProperties;
const fileListCopy = reactive({
  data: [],
});

const onchange = (file, fileList) => {
  fileContent.value = file; // 记录file文件流内容
};
// 上传请求
const uploadAction = () => {
  let formData = new FormData();
  formData.append("file", fileContent.value.raw);
  const url = urlValue.value;
  globObj
    .$axios({
      url: url,
      method: "post",
      transformRequest: [
        function (data, headers) {
          return data;
        },
      ],
      headers: { "Content-Type": "multipart/form-data" },
      data: formData,
      timeout: 300000,
    })
    .then((res) => {
      ElMessage.success("导入" + btnValue.value + "成功");
    })
    .catch((err) => {
      ElMessage.warning("导入" + btnValue.value + "失败");
    });
};
onMounted(() => {});
</script>

标签:el,const,formData,upload,value,file,vue3,ElMessage,data
From: https://blog.csdn.net/weixin_50387010/article/details/142058784

相关文章

  • 编译hello world
    新建一个文件夹存放代码在文件夹内新建一个java文件。hello.java在文件内编写代码publicclasshello{ publicstaticvoidmain(String[]args){ System.out.print("helloworld!"); }}编译java文件,在文件目录下打开命令提示符窗口,输入:javachello.java编译java......
  • IIS 屏蔽Help页面和Swagger
    1、MVC屏蔽HelP页面暴露API接口方法:找到目录下的 Areas\HelpPage\Views\Help的Index.cshtml注释如代码中@[email protected]@usingSystem.Web.Http.Description@[email protected]......
  • Vue3、Vue2、js通用下载不同文件的几种方式
    示例在Vue中需要实现文件下载功能时,我们可以有多种方式来完成。下面将介绍五种常用的方法。1.使用window.open方法下载文件<template><div><button@click="downloadFile('file1.pdf')">下载文件1</button><button@click="downloadFile('file2.jpg'......
  • Flutter 3.24 构建 release 抛出部分依赖 AAPT: error: resource android:attr/lStar
    问题截图:一些讨论:https://github.com/transistorsoft/flutter_background_fetch/issues/369问题原因及解决方案:@Aziz-T该问题与插件的compileSdkVersion和targetSdkVersion有关。出现该问题的原因是部分插件的compileSdkVersion和targetSdkVersion版本过旧。请前往......
  • KernelWarehouse:英特尔开源轻量级涨点神器,动态卷积核突破100+ | ICML 20242A
    动态卷积学习n个静态卷积核的线性混合,加权使用它们输入相关的注意力,表现出比普通卷积更优越的性能。然而,它将卷积参数的数量增加了n倍,因此并不是参数高效的。这导致不能探索n>100的设置(比典型设置n<10大一个数量级),推动动态卷积性能边界提升的同时享受参数的高效性。为此,论文提出......
  • C++ 多线程代码性能分析——Oracle Developer Studio工具教程
        最近写项目的时候,为了提升性能,把原来一些单线程的代码改成了并行运行。这里我用到的用于评估性能提升效果的工具是OracleDeveloperStudio,不过刚上手时,发现网上相关的教程和博客较少,有些功能的使用也是摸索着过来的,这一过程可谓是十分痛苦了……如今距离初次接触......
  • Vue3学习汇总(路由篇)
    1.单一页面设计常用存在导航栏和内容区,导航栏路由分配,内容区呈现组件内容;<template><divclass="app"><h2class="title">vue路由测试</h2><!--导航区--><divclass="navigate"><RouterLinkto="/h......
  • 组态软件之万维组态介绍(web组态、html组态、vue2/vue3组态、组态软件、组态编辑器)
     一、什么是组态软件组态软件是一种用于创建、配置和管理监控和控制系统的软件工具。组态是指不需要编写计算机程序、通过配置的方式完成工业应用开发的系统。它们通常用于工业自动化领域,用于实时监视和控制工业过程。组态软件提供了丰富的功能和工具,使用户能够创建用户界......
  • selenium自动化检测方法总结 携带用户数据 绕过检测 无头模式 句柄切换
    1.selenium携带用户数据fromseleniumimportwebdriverfromselenium.webdriver.chrome.serviceimportServiceservice=Service(executable_path='chromedriver.exe')option=webdriver.ChromeOptions()user_data_dir=r'C:\Users\12501\AppData\Local......
  • vue2+elementUI+Django实现登录注册功能
     前端代码<template><el-rowtype="flex"justify="center"style="height:100vh;"><el-col:xs="24":sm="12":md="8":lg="6"><el-cardclass="login-card......