a-upload——实现上传功能——基础积累

最近在写后台管理系统,遇到了上传功能,之前写过很多次,再次记录一下:

 <a-upload:file-list="fileList":remove="handleRemove":before-upload="beforeUpload":customRequest="customRequest"accept=".bmp,.gif,.jpeg,.png,.avi,.mov,.mp4,.rmvb,.txt,.doc,.docx,.xls,.xlsx"><a-button type="primary"> <a-icon type="upload" /> 上传 </a-button></a-upload><div style="font-size: 12px; color: red; line-height: 20px">附件支持上传:图片文件(bmp,gif,jpeg,png);视频文件(avi,mov,mp4,rmvb);文本文件(txt,doc,docx,xls,xlsx);最多上传五个文件,单个文件最大不超过10M</div>

js代码——上传部分

handleRemove(file) {const index = this.fileList.indexOf(file);const newFileList = this.fileList.slice();newFileList[index]['isDelete'] = true;//我这边的要求是,删除的文件添加isDelete字段为true,用于更新使用this.fileList = newFileList;
},
beforeUpload(file) {const isLt2M = file.size / 1024 / 1024 < 10;if (!isLt2M) {this.$message.error('文件不能超过10MB!');//限制文件的大小为不能超过10M}return isLt2M;
},
customRequest(file) {console.log(file);this.spinning = true;let fmData = new FormData();fmData.append('ModuleName', 'picking');fmData.append('files', file.file);postUploadSingle(fmData)//调用的上传接口,入参是form-data格式的文档流.then((res) => {if (res.success) {let data = res.data;if (data) {this.fileList.push({uid: data,name: getFileName(data),url: data,isDelete: false,});}} else {this.$message.error(res.message);}}).finally(() => {this.spinning = false;});
},

在这里插入图片描述
在这里插入图片描述

js代码——文件回显部分

this.fileList = [];
res.attachmentList &&res.attachmentList.forEach((item) => {this.fileList.push({uid: item.filePath,id: item.id,name: getFileName(item.filePath),url: item.filePath,});});

js代码——根据文件地址获取扩展名和文件名

export function getFileSuffix(filename) {if (filename.endsWith('.jpg') ||filename.endsWith('.jpeg') ||filename.endsWith('.bmp') ||filename.endsWith('.gif') ||filename.endsWith('.png')) {return 'img';} else if (filename.endsWith('.avi') ||filename.endsWith('.mov') ||filename.endsWith('.mp4') ||filename.endsWith('.rmvb')) {return 'video';} else if (filename.endsWith('.txt') ||filename.endsWith('.doc') ||filename.endsWith('.docx') ||filename.endsWith('.xls') ||filename.endsWith('.xlsx')) {return 'word';} else {return '未知文件类型';}
}
export function getFileName(filename) {let arr = filename.split('/');const name = arr[arr.length - 1];return name;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/664868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计 | SSM 旅游网站后台管理系统(附源码)

1&#xff0c;概述 1.1 背景分析 随着人们生活水平的提高和对休闲旅游的日益重视&#xff0c;旅游业已成为全球最大的经济产业之一。越来越多的人选择通过在线方式进行旅行预订&#xff0c;这种趋势为旅游网站提供了巨大的商机。用户体验是决定旅游网站成功与否的关键因素。良…

Flutter 仿抖音 TikTok 上下滑动 播放视频

Flutter 仿抖音 TikTok 上下滑动 播放视频UI框架&#xff0c;视频播放使用 video_player github&#xff1a;GitHub - PangHaHa12138/TiktokVideo: Flutter 仿抖音 TikTok 上下滑动 播放视频UI框架 实现功能&#xff1a; 1.上下滑动自动播放切换视频&#xff0c;loading 封面…

bash脚本学习笔记

一、扫盲 脚本文件是一种文本文件&#xff0c;其中包含了一系列的命令和指令&#xff0c;可以被操作系统解释器直接解释执行。脚本文件通常被用来完成特定的任务或执行重复性的操作。 脚本文件通常以某种编程语言的语法编写&#xff0c;例如 Bash、Python、Perl、Ruby 等等。…

二叉树的层平均值

给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[3.00000,14.50000,11.00000] 解释&#xff1a;第 0 层的平均值为 …

微服务架构风格

1 引言 微服务是一种架构风格&#xff0c;它将应用构建位为一个小型自治服务的集合&#xff0c;以业务领域为模型。通俗地说&#xff0c;就像蜜蜂通过对蜡制的等边六边形单元来构建它们的蜂巢。它们最初从使用材料的小单元开始&#xff0c;一点点的搭建出一个大型蜂巢。这些小单…

【OpenCV学习笔记27】- OpenCV 中的直方图 - 直方图 - 1:查找,绘图,分析

这是对于 OpenCV 官方文档中 图像处理 的学习笔记。学习笔记中会记录官方给出的例子&#xff0c;也会给出自己根据官方的例子完成的更改代码&#xff0c;同样彩蛋的实现也会结合多个知识点一起实现一些小功能&#xff0c;来帮助我们对学会的知识点进行结合应用。 如果有喜欢我笔…

1895_分离进程的能力

1895_分离进程的能力 全部学习汇总&#xff1a; g_unix: UNIX系统学习笔记 (gitee.com) 有些理念可能在控制类的嵌入式系统中不好实施&#xff0c;尤其是没有unix这样的系统搭载的情况下。如果是考虑在RTOS的基础上看是否有一些理念可以做尝试&#xff0c;我觉得还是可以有一定…

快速傅里叶变换 算法与实现

强烈推荐李家同教授 Communications engineering essentials for computer scientists and electrical engineers 一书 该部分关于离散傅里叶变换的讲解是我目前见过最好的 讲得十分清楚&#xff0c;严谨又不过分深入 直觉和物理动机也很明确 对于工程应用完全足够 书籍下载地…

npm 淘宝镜像正式到期,更新使用成功

npm 淘宝镜像原网址&#xff1a;https://registry.npm.taobao.org/ npm 淘宝镜像更新后网址&#xff1a;https://registry.npmmirror.com 过程&#xff1a; 部署 nuxt docker 容器的时候&#xff0c;报以下错&#xff1a; npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CE…

跟着pink老师前端入门教程-day17

2、CSS3 动画 动画&#xff08;animation&#xff09;是CSS3中就要有颠覆性的特征之一&#xff0c;可通过设置多个节点来精确控制一个或一组动画&#xff0c;常用来实现复杂的动画效果 相比较过渡&#xff0c;动画可以实现更多变化&#xff0c;更多控制&#xff0c;连续自动播…

【Simulink系列】——动态系统仿真 之 简单系统

引入 不同的系统具有不同的输入与输出。一般来说&#xff0c;输入输出数目越多&#xff0c;系统越复杂。最简单的系统只要一个输入一个输出&#xff08;SISO&#xff09;&#xff0c;且其任意时刻的输出只与当前时刻的输入有关。 一、简单系统定义 对于满足下列条件的系统&a…

重新配置vue项目时出现的:连接已断开问题

在新机器上配置完node.js、vue-cli&#xff0c;配置了node_modules后&#xff0c;命令行运行vue ui后&#xff0c;出现了如下报错&#xff1a; C:\Users\LEN>vue ui &#x1f680; Starting GUI... &#x1f320; Ready on http://localhost:8000 node:events:496throw e…

揭秘店铺详情API接口:提升顾客信任与购物体验的利器

在电商领域&#xff0c;了解店铺的详细信息对于提升顾客的信任和忠诚度至关重要。为了帮助开发者获取和管理特定店铺的信息&#xff0c;电商平台通常提供店铺详情API接口。本文将指导你如何使用这个API接口来获取店铺的名称、描述、地址、评分等详细信息&#xff0c;并将这些信…

通过 ChatGPT 的 Function Call 查询数据库

用 Function Calling 的方式实现手机流量包智能客服的例子。 def get_sql_completion(messages, model"gpt-3.5-turbo"):response client.chat.completions.create(modelmodel,messagesmessages,temperature0,tools[{ # 摘自 OpenAI 官方示例 https://github.com/…

未定义基类问题解决

基类A, 子类B 原因 出现了超前部署&#xff0c;循环依赖&#xff0c;即A.h中包含了B.h &#xff0c;B.h中包含了A.h从而出现错误。 解决 将基类中的包含头文件#include"B.h"删除即可

想打游戏 可是windows一直出问题 应该如何解决呢 我来告诉你

如何你想让系统一直不出问题 你需要按照我的方法: 1 用 users 用户组用户 不登陆管理员账户 特别不登陆windows默认创建的那个用户 安装软件时 输密码安装 2 不安装国产软件 和 杀毒软件 3 使用firefox这个浏览器 或 google浏览器&#xff08;但gogole不保证安全&…

扩展学习|统计学习理论(SLT)与极限学习机(ELM)应用于大社会数据分析

文献来源&#xff1a;[1] Oneto L , Bisio F , Cambria E ,et al.Statistical Learning Theory and ELM for Big Social Data Analysis[J].IEEE Computational Intelligence Magazine, 2016, 11(3):45-55.DOI:10.1109/MCI.2016.2572540. 提取链接&#xff1a;链接&#xff1a;h…

移远(Quectel)物联网通信解决方案

一、方案简介 无线通信模块是具备无线通信的电路模块&#xff0c;它能通过无线连接传输数据&#xff0c;能识别分析主控制器发来的命令&#xff0c;控制节点设备的工作&#xff0c;或者向主控制器发送当前节点设备的工作状态。 市面上常用的无线通信模组包括蓝牙模组、WLAN模…

灵伴科技(Rokid)借助 Knative 实现 AI 应用云原生 Serverless 化

作者&#xff1a;朱炜栋、元毅、子白 公司介绍 Rokid 创立于 2014 年&#xff0c;是一家专注于人机交互技术的产品平台公司&#xff0c;2018 年即被评为国家高新技术企业。Rokid 作为行业的探索者、领跑者&#xff0c;目前致力于 AR 眼镜等软硬件产品的研发及以 YodaOS 操作系…

数据结构—基础知识:哈夫曼编码

文章目录 数据结构—基础知识&#xff1a;哈夫曼编码哈夫曼编码的主要思想有关编码的概念哈夫曼编码满足两个性质&#xff1a; 数据结构—基础知识&#xff1a;哈夫曼编码 哈夫曼编码的主要思想 在进行数据压缩时&#xff0c;为了使压缩后的数据文件尽可能短&#xff0c;可采…