element-plus组件之Upload(1.0)

上传文件 运用element-plus组件实现 【代码】上传文件 运用element-plus组件实现。 阅读详情

对应的Upload组件的网址为:Upload 上传 | Element Plus

在学习项目时,多次用到element-plus中的图片上传组件,这里就详细介绍一下,方便以后的学习和记忆。

一般在使用第三方的组件时,我们进行查看文档时,虽然官方提供了一些案例,但是有些属性和方法等不可能一一用实例展示出来,下面就对该组件存在的属性和方法等进行一一展示。

属性

 ①action

el-upload的action属性的设置就是上传的URL,与该属性对应使用的是auto-upload,该属性的值默认为true,说明只要你书写了action属性,就会默认进行上传【也就是像后端服务器发送请求】

 但是这样就存在了两个应用场景,一个是需要让改组件进行默认上传,就是一选择本地的资源文件,就上传到后端服务器。

另一个就是需要考虑到频繁修改图片或其他资源的场景,如果我们需要频繁的修改本地上传资源,那么我们就应该设置auto-upload为false,要不然频繁修改,频繁发送请求,就会造成服务器负担。

实例代码:

<template>
    <el-upload class="avatar-uploader" action="#" :show-file-list="false" :auto-upload="false"
        :on-change="handleChange">
        <img v-if="props.avatar" :src="uploadAvatar" class="avatar" />
        <el-icon v-else class="avatar-uploader-icon">
            <Plus />
        </el-icon>
    </el-upload>

</template>

该代码就是将upload单独做成一个组件,在用户选择图片等资源时,不向服务器发送请求,而在使用该组件的表单组件中,点击提交按钮或修改按钮后,再发送请求。

②headers

 另外,插入一个额外的点,封装的element封装的upload组件,自带选择文件的功能,只要你书写了以下代码:

 <el-upload
    list-type="picture-card"
    :auto-upload="false"
>

    </el-upload>

界面上的显示就会如下,点击就会出现文件选择,这里将list-type="picture-card"是为了让其显示,因为他存在默认样式,会让容器显示出来,要不然单独书写el-upload界面都看不到。

 然后,后续就以官方提供的实例进行介绍。

<template>
    <el-upload
      list-type="picture-card"
      v-model:file-list="fileList"
      class="upload-demo"
      action="#"
      :headers=obj
      method="put"
      name="Myfile"
      :data=data
      :show-file-list="true"
      :drag="false"
      
      multiple
      :on-preview="handlePreview"
      :on-remove="handleRemove"
      :before-remove="beforeRemove"
      :limit="4"
      :on-exceed="handleExceed"
      :auto-upload="true"
    >
      <el-button type="primary">Click to upload</el-button>
      <template #tip>
        <div class="el-upload__tip">
          jpg/png files with a size less than 500KB.
        </div>
      </template>
    </el-upload>

这里的参数类型是 TypeScript 的定义方式,在Typescript中,Headers | Record<string, any> 是一个联合类型,表示该属性的值可以是 Headers 类型,也可以是 Record<string, any> 类型。 

Headers类型的设置可以如下:

let myHeaders = new Headers();
myHeaders.append("Content-Type", "image/jpeg");
<template>
  <el-upload
    :action="uploadUrl"
    :headers="uploadHeaders"
    :on-success="handleSuccess"
    :on-error="handleError"
  >
    <el-button slot="trigger" size="small" type="primary">点击上传</el-button>
  </el-upload>
</template>

<script>
export default {
  data() {
    return {
      uploadUrl: 'http://example.com/upload', // 替换为你的上传 URL
      uploadHeaders: {
        'Content-Type': 'multipart/form-data', // 设置内容类型
        'Authorization': 'Bearer your-token', // 如果需要认证令牌,可以在此处设置
        // 其他自定义头部信息
      }
    };
  },
  methods: {
    handleSuccess(response, file, fileList) {
      // 处理上传成功的逻辑
    },
    handleError(err, file, fileList) {
      // 处理上传失败的逻辑
    }
  }
};
</script>

 Record<string,any>类型也是一个对象,传递的键的类型为string,值的类型为any任意类型,在代码中我传递的是

  const obj=reactive({

    name:"mez"

  })

所以我们要想看到这个数据,需要发送请求,为了方便看到效果,我就设置了auto-upload=true。

我们可以看到我们写的数据,在请求头中发送给后端

③post

method设置上传的请求方法,默认为post请求 ,我们为了测试该属性,设置为put请求

 同样,在上面我们也可以看到发送的是put请求

④multiple

 

显而易见,就是在上传的时候支不支持多选文件,默认为false,不支持,我们设置为true试一试,还有就是,如果直接协商multiple就是设置为true,不写或设置为false就是不能多选的。

 下面是设置为false或者不填时

可以看到,多选时,就会默认调到第二次选择的图片

⑤data

 可以看出,和上面header的类型类似,也是需要一个对象类型

我们设置的data为

 

  const data=reactive({

    Mydata:'我是额外携带的数据'

  })

⑥name

我们在属性中设置name="Myfile",从上面也可以看出 ,在同样的位置

由于现在项目中很少用到cookie,所以 下面的属性就不再演示。

⑦show-file-list

 这个的效果就是是否显示你上传的文件列表,一般针对list-type="picture"的情况,可以列表显示你上传的文件名,因为picture-card这样的照片墙都直观的显示图片了,再设置这个属性没有效果

 

⑧drag

 这个就比较简单了,设置为true,就是可以直接拖拽文件到该组件,就默认上传了,设置为false就不启用拖拽功能。

⑨accept

指定上传的文件类型,加入我们设置为accept=".png",当然,也不止这一种设置方式,还有就是accept="image/jpeg,image/png"这样的设置方式,和file文件对象有关。

如果我们设置为accept=".png",默认选择的文件类型就是这样的

 

vue3+ts - element-plus封装上传文件图片组件 近期做到的项目中有涉及到上传图片上传文件的需求,因为是pc管理后台,用到了element-plus框架,所以我也一起使用element-plus中的上传图片上传图片功能,并对它进行封装成一个组件,方便在多个地方使用。 阅读详情

相关推荐

【前端】Element Plus Upload 组件使用指南:解决删除后上传框消失问题及回显问题

);});

若释·飞语 443

elementPlus中的upload组件的理解与使用

在elementPlus中上传组件的使用是最为复杂且繁琐的,在本次项目中由于elementPlus中的upload组件的上传函数被绑定在了action中(从本地提交图片,在显示时就会直接上传图片)而导致无法按照先前设计好的接口(将图片与其他数据一起上传)形式实现文件的传输,所以使用了一种能自主调用上传接口的方法实现上传(难点:没有TS基础,upload组件的文档编写不是很详细,所以函数编写和样例不同,导致走了很多弯路)。

m0_52028574的博客 4253

Element-plus el-upload 图片上传二次封装,支持一次上传多张图片

Element-plus el-upload 图片上传二次封装,支持一次上传多张图片

qq_33365152的博客 642

Vue3 Element-plus Upload 上传图片

该组件在上传之前会触发 beforeAvatarUpload 函数,但是该函数内部的操作会导致额外的请求发送到 http://localhost:5173/,从而导致 404 错误。官网中upload组件中action是可以直接写请求 URL,因为我在请求头中添加了租户id和token,如果直接将URL写入action中会报错‘‘缺少租户id’’,所有利用axios请求URL。点击上传图片时,请求后端接口(接口为封装好的reqUpload函数),将选中的文件作为接口的参数。

weixin_71403100的博客 1万+

vue3 - 使用element-plus组件库el-upload上传超大mp4视频分片上传,Upload上传大文件mp4视频进行切片分段上传到后端服务器教程,vue3如何上传很大的视频(详细示例代码

vue3,element plus,el-upload,Upload上传组件,java分片上传,springboot,vue3+springboot大文件分段传递,大视频分段上传,vue3详细分片上传视频教程,使用element-plus上传组件如何实现大文件分片分段上传到服务器,vue3+element 分片上传 分片下载功能实现,大文件分片上传,vue3如何实现特别大的文件分批切片上传并且带进度条,上传进度条,封装el-upload大文件分片上传、断点续传组件,断点续传,vue3把一个大视频分成多个小片

✅ 精选推荐文章 1万+

【Vue3 + Element-Plus】 el-upload 组件批量上传图片问题记录

使用el-upload封装实现批量上传图片的组件时的踩坑记录,并附上完整组件代码

Komorebi_00的博客 2047

vue3+vuedraggable的上传图片后 图片列表的拖拽排序

技术:vue3 + vuedraggable(4.1.0) + element plus的el-upload 代码如下。问题:实现图片列表的拖拽排序 更方便调整图片位置--如果用的v2我文章也有。

2301_76607997的博客 736

手把手教你低成本复刻大疆C板缓启动电路(附原理图与选型清单)

本文详细介绍了如何低成本复刻大疆C板缓启动电路,包括核心器件选型、电路搭建与调试实战、参数优化方法论及进阶改进思路。通过替代型号和优化设计,实现功能相近的缓启动电路,成本不到原方案的1/3,适合电子爱好者、在校学生和预算紧张的硬件工程师。

weixin_29197051的博客 397

Vue 3 中使用 Element-Plus 的 el-upload 组件限制只上传一个文件

在 Vue 3 中使用 Element-Plus 的 el-upload 组件进行文件上传时,有时候需要限制只能上传一个文件。本文将介绍如何通过配置 el-upload 组件实现这个功能,让你的文件上传变得更加简洁和易用。Element-Plus 是一个基于 Vue 3 的组件库,其中的 el-upload 组件提供了方便的文件上传功能。在默认情况下,el-upload 组件是允许多文件上传的,但我们可以通过设置属性和监听事件来限制只上传一个文件。

pleaseprintf的博客 5935

配电网可靠性评估(一)—最小路法和非序贯蒙特卡洛模拟法的matlab实现

电力系统的可靠性研究是相关领域的热点问题。根据研究对象的不同,又可分为发电系统的可靠性,输电系统的可靠性和配电系统的可靠性。配电网在电力系统中处于最末端的位置,直接和用户相连,一旦出现故障情况,就会在用户侧表现为停电事故。因此对配电网的可靠性评估有着重大意义。......

配电网和matlab的博客 1万+

BioEmu:微软黑科技炸场!生成式AI重构蛋白质模拟:千倍效率碾压传统计算,新药研发周期砍半

BioEmu 是微软推出的生成式深度学习系统,可在单个 GPU 上每小时生成数千种蛋白质结构样本,支持模拟动态变化、预测热力学性质,并显著降低计算成本。

士多啤梨先生の博客 1098

Vue核心知识:使用elementsplus的upload组件怎么处理图片的增删

🎓作者简介:全栈领域优质创作者🌐个人主页:百锦再@新空间代码工作室📞工作室:新空间代码工作室(提供各种软件服务)💌个人邮箱:[15045666310@163.com]📱个人微信:15045666310🌐网站:https://meihua150.cn/💡座右铭:坚持自己的坚持,不要迷失自己!要快乐。

百锦再的博客 1万+

Auto.js实现视频号点赞自动化

摘要:本文介绍了一个微信视频号自动化点赞的实现方案。通过定位点赞图标和数量容器,点击点赞按钮后检测点赞数变化,若发现取消点赞则自动补点。核心代码包括:1)获取点赞容器和图标;2)记录点赞前后数量;3)判断是否误取消并补点;4)循环执行点赞和滑动页面操作。该方案解决了滑动页面可能导致误取消点赞的问题,实现了自动化批量点赞功能。文章强调仅供学习参考,提醒勿滥用该技术。

分享前端工程化、AI 应用、Agent 开发与大模型实践! 2574

Element Plus 中 el-upload 组件 file 插槽的 index 属性版本变更解析

Element Plus 作为基于 Vue 3 的组件库,其上传组件 el-upload 在 2.8.0 版本中对 file 作用域插槽进行了重要功能增强。本文将从技术实现角度分析这一变更,帮助开发者正确理解和使用该特性。 ## 版本变更背景 在 Element Plus 2.7.2 及更早版本中,el-upload 组件的 file 作用域插槽仅提供一个 file 属性,开发者无法直接获取当...

gitblog_00251的博客 421

【STM32Cube_14】使用硬件I2C读写环境光强度传感器(BH1750)

本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设读取环境光强度传感器数据(BH1750)

Mculover666的博客(嵌入式) 7242

【学习系列】SAP RAP 16:RAP应用部署集成至Fiori Launchpad 【On-Premise】

本文详细介绍了如何将开发完成的RAP应用部署到S4HANA 2023 On-Premise环境并集成到Fiori Launchpad的完整流程。主要内容包括:1)通过ADT工具创建Fiori项目并配置外部IDE(VSCode);2)使用npm命令部署应用到系统;3)通过事务代码创建语义对象、磁贴目录和目标映射;4)配置PFCG角色分配;5)补充了部署失败解决方案、翻译问题处理、自定义主题设置以及登录页面LOGO修改等内容。文章提供了step-by-step的操作指南,帮助开发者将预览模式的应用正式部署到生产

DeveloperMrMeng的博客 633

element plus中el-upload分片上传文件

el-upload分片上传文件

m0_62317155的博客 4687

vivo X200 Ultra前瞻系列(1):重塑影像旗舰标准

在色彩风格化、视频专业度上实现了安卓阵营的突破性进步。其2亿像素长焦、双LYT-818传感器及5轴防抖技术,对追求个性化创作的用户具有强吸引力。若真机表现能兑现硬件承诺,X200 Ultra有望重新定义手机影像的“专业”标准。然而,其厚重设计、价格门槛及生态适配问题,仍需市场检验。vivo X200 Ultra作为2025年上半年影像旗舰,以“全焦段夜视仪+电影级视频”为核心卖点,主打。,对标小米15 Ultra、OPPO Find X8 Ultra等竞品。,顶配版(24GB+2TB)逼近万元。

专注:太空算力、AI infra、异构调度、大模型成本工程 964

修改element的upload组件,多文件一次上传

修改element的upload组件,支持多文件一次上传 Element中的Upload组件应该是我们常常会用到的一个组件,通常使用它做一些文件上传操作,不过对应的demo中虽然可以支持多个文件的选择上传,但却是每个文件上传调用一个接口,这样操作起来就不是那么方便了。 今天就带大家修改一下组件,把要上传的文件放到同一个请求中发送给服务器。 首先看一下对应的文档 https://element-plus.gitee.io/zh-CN/component/upload.html#manual-upload 在属

伯约同学的前端学习之路 1983

为什么一个“时间片”能折腾 Linux 十年?

时间片扩展不是抢占调度器的控制权,也不是提升优先级。在“非常短暂、非常确定”的用户态临界区内,避免线程被不必要地抢占。用户态自旋锁(user-space spinlock)无系统调用的极短临界区高并发、低延迟的数据结构操作RSEQ(Restartable Sequences)保护区间一旦线程在临界区被抢占,系统整体性能反而下降。线程 A 拿着一个用户态锁线程 B 被调度上来,开始自旋等这个锁但 A 因为时间片用完,被调度器切走CPU 白白空转,所有线程都在浪费时间。

网络技术联盟站 254

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

vue3+Ts+element-plus+Upload+阿里云OSS前端直传组件二次封装

vue3+Ts+element-plus+Upload+阿里云OSS前端直传组件二次封装

qq_38902432的博客 4589

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

element plus 文件上传组件el-upload

element plus 文件上传组件el-upload 提交文件,.限制文件提交数量

m0_70668322的博客 568

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

element plus: el-upload详解

el-upload

weixin_44384273的博客 2875

element plus 使用细节

table 表格自定义内容 注意 select 显示的是value 注意 分页和搜索 2024/7/19补充 upload 使用 一个文件 多文件 (适用于图片,带预览) el-dialog 使用 一定要用一个参数接收 defineProps 不要再 el-dialog 上加class 更优的 el-dialog 封装(2025/6/11) before-close el-drawer 也是一样 ElLoading(继续引入问题)

全网同名:PBitW,更多内容,可以搜索《普通前端进阶记》 1032

element ui中upload的手动上传

elementui中手动批量上传视频且携带额外的参数封装一个上传视频的方法upload组件的使用data中存储一个formData点击按钮之后触发上传贴一部分图 (记录一下开发中遇到的一些问题) 因为elementui中的upload组件是多次请求,也就是你批量上传十个视频他就会请求十次,很不友好,这时候我们需要自己手动去上传一个FormData将视频装在一起只请求一次 封装一个上传视频的方法 const axios = axios.create(); export function uploadVideo

m0_48995032的博客 4258
上一篇: sass学习笔记(1.0)
下一篇: element-plus组件之Upload(2.0)
mez_Blog
mez_Blog 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄9年 1万+粉丝 346原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mez_Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值