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

vue2,使用element中的Upload 上传文件,自定义上传http-request上传,上传附件支持多选,多个文件只发送一次请求,代码里有注释

复制直接使用,组件根据multiple是否多选来返回附件内容,支持多选就返回数据附件,则返回一个附件对象。

//uploadFiles.vue<template><div><el-uploadclass="avatar-uploader"action="#":accept="accept":show-file-list="false":http-request="HttpRequest":multiple="multiple":on-change="onChangeFile"ref="uploadFileRef"><slot /></el-upload></div>
</template><script>
export default {/*** limitation // 文件上传限制大小 type number  50就是50Mb* accept // 上传文件类型限制 accept=".xls, .xlsx"* multiple// 是否支持多选*/name: "uploadFiles",props: ['limitation','accept','multiple'],data() {return {flag:true, // 节流控制filesList:[]  // 上传的附件内容}},methods: {// 触发父组件的fileRet方法,并返回所选附件数据ArrayupdateHeading(files) {this.$emit('fileRet',files);this.emptyData();},HttpRequest(data){const isLt50M = data.file.size / 1024 / 1024 < this.limitation; // 限制文件大小if (!isLt50M) {this.$message.error('上传头像图片大小不能超过 50MB!');return}// 调用后台接口逻辑this.throttle(()=>{let retFile;// 如何支持多文件上传,返回附件数组,则返回当个文件对象if (this.multiple){retFile = this.filesList.map(o=>o.raw)} else {retFile = data.file}// 附件上传参数用formData.append('file',retFile)  this.updateHeading(retFile)},600)},// 清空已上传的附件数据,初始化emptyData() {this.$refs.uploadFileRef && this.$refs.uploadFileRef.clearFiles();this.filesList = [];},//使用节流的方式去触发提交,避免多上传附件时,选几个附件就会触发几次提交throttle(fn,delay){if(this.flag){setTimeout(() =>{ fn();this.flag = true },delay)}this.flag = false;},onChangeFile(file,fileList){this.filesList = fileList},},mounted() {},computed: {},watch: {}
}
</script>

相关文章:

vue2,使用element中的Upload 上传文件,自定义上传http-request上传,上传附件支持多选,多个文件只发送一次请求,代码里有注释

复制直接使用&#xff0c;组件根据multiple是否多选来返回附件内容&#xff0c;支持多选就返回数据附件&#xff0c;则返回一个附件对象。 //uploadFiles.vue<template><div><el-uploadclass"avatar-uploader"action"#":accept"accep…...

flutter定位简单工具类

import package:permission_handler/permission_handler.dart;class PermissionUtil {/// 获取用户定位权限static Future<bool> getLocationStatus() async {Map<Permission, PermissionStatus> statuses await [Permission.location,].request();return statuse…...

java请求SAP系统,发起soap的xml报文,实体类转换,idea自动生成教程

1、将接口的网页地址&#xff0c;右键保存&#xff0c;然后修改文件后缀为wsdl文件 2、idea全局搜索 wsdl&#xff0c;找到自动转换javabean插件&#xff1a; 3、点击后&#xff0c;选择下载改完后缀的文件(选择)&#xff1a; 4、将无用的class文件删除掉 5、请求sap的地址为…...

不同屏幕的触控技术

不同显示屏的触控技术原理有所不同。触摸屏的基本原理是&#xff0c;用手指或其他物体触摸安装在显示器前端的触摸屏时&#xff0c;所触摸的位置(以坐标形式)由触摸屏控制器检测&#xff0c;并通过接口(如RS-232串行口)送到CPU&#xff0c;从而确定输入的信息。 目前市场上常…...

深度解读thenable

在学习promise时&#xff0c;我们经常会遇到thenable一词。关于thenable&#xff0c;目前的资料解读不够通俗易懂&#xff0c;又或者脉络不够清晰&#xff0c;本文主要对thenable进行详细剖析&#xff0c;以便各位参考。笔者希望你能够仅凭这一篇文章&#xff0c;便能深度掌握该…...

原生无限极目录树详细讲解

原生无限级目录树 当涉及到原生的无限级目录树&#xff0c;我们可以使用递归算法来实现。以下是一个使用 JavaScript 实现原生无限级目录树的示例 介绍 原生无限级目录树是一种常见的数据结构&#xff0c;用于组织多层级的目录或分类数据。通过递归算法&#xff0c;我们可以…...

剑指offer(C++)-JZ64:求1+2+3+...+n(算法-位运算)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 求123...n&#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句&…...

“深入探究JVM内部机制:如何实现Java程序的运行环境?“

标题&#xff1a;深入探究JVM内部机制&#xff1a;如何实现Java程序的运行环境&#xff1f; 摘要&#xff1a;本文将深入探究Java虚拟机&#xff08;JVM&#xff09;的内部机制&#xff0c;重点讨论JVM如何实现Java程序的运行环境。我们将从JVM的结构、类加载、内存管理、垃圾…...

Mac更新homebrew时卡住的解决办法

Mac更新homebrew时卡住的解决办法 引起问题的原因brew命令安装软件跟这3个仓库地址有关1、brew2、homebrew-core3、homebrew-bottles4、若/bin/zsh&#xff0c;则输入5、若/bin/bash&#xff0c;则输入6、更新brew 引起问题的原因 知其然&#xff0c;还要知其所以然。brew的更…...

带你了解—在外远程群晖NAS-群晖Drive挂载电脑磁盘同步备份【无需公网IP】

文章目录 前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用 2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用 3. 结语 前言 群晖作为专业的数据存储中心&…...

计算机网络第2章(物理层)

计算机网络第2章&#xff08;物理层&#xff09; 2.1 物理层的基本概念2.2 物理层下面的传输媒体2.2.1 导引型传输媒体2.2.2 非导引型传输媒体 2.3 传输方式2.3.1 串行传输和并行传输2.3.2 同步传输和异步传输2.3.3 单向通信&#xff08;单工&#xff09;、双向交替通信&#x…...

windows钩子保护自身进程不被破坏

代码来自于《windows核心编程》作者&#xff1a; APIHOOK.h头文件&#xff1a; #pragma once #include <Windows.h> class CAPIHOOK { public: CAPIHOOK(LPTSTR lpszModName, LPSTR pszFuncName, PROC pfnHook, BOOL bExcludeAPIHookMod TRUE); ~CAPIHOOK(void); p…...

Linux系统查看文件系统类型C代码

系统&#xff1a;VM Ubuntu 实现Linux系统下通过输入指定路径查看文件系统类型,MSDOS_SUPER_MAGIC&#xff0c;NTFS_SUPER_MAGIC和EXT4_SUPER_MAGIC这些宏定义并不是在sys/mount.h中定义的&#xff0c;它们实际上是在linux/magic.h头文件中定义的。不同系统下宏定义可能不一样&…...

Python中的正则表达式

大家好&#xff0c;今天我们将通过详细的解释和代码示例&#xff0c;探讨如何在Python中使用正则表达式。 介绍 正则表达式&#xff08;regex&#xff09;是一种用于操作文本和数据的强大工具&#xff0c;它们提供了一种简洁灵活的方式来“匹配”&#xff08;指定和识别&…...

第六章,创作文章

6.1添加创作页面 <template><div class="blog-container"><div class="blog-pages"><div class="col-md-12 panel"><div class="panel-body"><h2 class="text-center">创作文章&l…...

Win10c盘满了怎么清理?快速清理,5个方法!

“快救救孩子吧&#xff01;我的电脑是win10系统的&#xff0c;现在c盘满了&#xff0c;根本没法继续使用电脑了。怎么才能快速的释放内存呢&#xff1f;非常着急&#xff01;感谢大家&#xff01;” C盘是Windows系统中重要的分区&#xff0c;当其存储空间满了&#xff0c;可能…...

回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍程序…...

docker 06(docker compose)

一、服务编排 二、docker compose...

非阻塞重试与 Spring Kafka 的集成测试

如何为启用重试和死信发布的消费者的 Spring Kafka 实现编写集成测试。 Kafka 非阻塞重试 Kafka 中的非阻塞重试是通过为主主题配置重试主题来完成的。如果需要&#xff0c;还可以配置其他死信主题。如果所有重试均已用尽&#xff0c;事件将转发至 DLT。公共领域提供了大量资…...

基于 Debian 12 的MX Linux 23 正式发布!

导读MX Linux 是基于 Debian 稳定分支的面向桌面的 Linux 发行&#xff0c;它是 antiX 及早先的 MEPIS Linux 社区合作的产物。它采用 Xfce 作为默认桌面环境&#xff0c;是一份中量级操作系统&#xff0c;并被设计为优雅而高效的桌面与如下特性的结合&#xff1a;配置简单、高…...

Zotero期刊标签:从数据映射到视觉呈现的自动化实践

1. 科研文献管理的视觉化革命 作为一名常年泡在文献堆里的科研狗&#xff0c;我最头疼的就是面对几百篇PDF时那种无从下手的窒息感。直到三年前偶然发现Zotero的标签染色功能&#xff0c;才真正体会到什么叫"一眼定位关键文献"。想象一下&#xff1a;当你打开文献库&…...

从新手到认证专家:NotebookLM总结能力跃迁路径图(含Google官方未公开的评估矩阵V2.1)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM总结能力跃迁路径总览 NotebookLM 是 Google 推出的面向研究者与开发者的情境化 AI 助手&#xff0c;其核心突破在于将用户上传的文档&#xff08;PDF、TXT、Google Docs&#xff09;转化为可…...

如何在 Node.js 项目中快速使用 module-alias:10分钟入门教程

如何在 Node.js 项目中快速使用 module-alias&#xff1a;10分钟入门教程 【免费下载链接】module-alias Register aliases of directories and custom module paths in Node 项目地址: https://gitcode.com/gh_mirrors/mo/module-alias 在 Node.js 开发中&#xff0c;你…...

客户月亏30万才醒悟:低价模具,才是最昂贵的选择

一、客户困境&#xff1a;贪小利省2万&#xff0c;终致月亏30万、天天停机一位专注小家电外壳生产的客户&#xff0c;在模具采购时&#xff0c;一心想压缩成本&#xff0c;最终选择了比常规方案便宜2万元的低价模具。初期试模阶段&#xff0c;产品外观、尺寸看似无异常&#xf…...

IMX8QX MEK开发板烧录实战:手把手教你从官方BSP包到定制uuu脚本的全流程

IMX8QX MEK开发板烧录实战&#xff1a;从BSP解析到定制化uuu脚本全指南 拿到一块崭新的IMX8QX MEK开发板时&#xff0c;官方提供的BSP包往往像一座未经探索的金矿——资源丰富但路径复杂。本文将带你深入这座金矿&#xff0c;从文件定位到脚本定制&#xff0c;完成一次完整的烧…...

从‘亮灯’到‘定位’:一个真实商用车J1939故障排查全记录(含DM1多包传输解析)

从‘亮灯’到‘定位’&#xff1a;一个真实商用车J1939故障排查全记录&#xff08;含DM1多包传输解析&#xff09; 1. 故障现象与初步诊断 那是一个普通的周二早晨&#xff0c;维修车间接到一辆6x4牵引车的报修单——仪表盘上的MIL&#xff08;故障指示灯&#xff09;持续点亮。…...

2026年小程序多少钱:8款高口碑产品排行榜解锁最优选择

导读&#xff1a;2026年&#xff0c;小程序开发已成为企业数字化运营的核心工具&#xff0c;其成本结构受功能复杂度、平台选择及服务商专业度等多因素影响。市场调研显示&#xff0c;基础展示型小程序报价集中在5000-15000元&#xff0c;而定制化多功能方案可达5万元以上。行业…...

【亲测免费】 探索卷积神经网络之美:一键绘制专业结构图的利器

探索卷积神经网络之美&#xff1a;一键绘制专业结构图的利器 【下载地址】卷积神经网络结构绘制工具 本资源适用于需要展示卷积神经网络具体结构的研究人员。用户下载本项目后&#xff0c;按照README官方教程中的“Getting Started”部分进行操作&#xff0c;简单学习语法后即可…...

转:调动员工积极性的七个关键

个人理解&#xff1a; 经营的原点&#xff0c;就是“调动员工的积极性” 讲述自己的哲学&#xff0c;与员工们共有这种哲学 思想意识发生变化&#xff0c;积极性、主动性提高 稻盛和夫&#xff1a;调动员工积极性的七个关键 稻盛和夫&#xff1a;调动员工积极性的七个关键 稻…...

FreeRTOS源码解析(9)任务通知

1.任务通知本质&#xff1a;直接操作目标任务的 TCB 字段。 它不自带控制块、不分配独立存储、不维护自己的等待列表——全程只做一件事&#xff1a;读写目标任务 TCB 里已有的 ulNotifiedValue 和 ucNotifyState&#xff0c;必要时将对方从延迟列表移到就绪列表。正因如此&…...