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

7-上传下载

上传下载

首先创建一张上传文件的表,例如:

drop table if exists sys_file_info;
create table sys_file_info (file_id           int(11)          not null auto_increment       comment '文件id',file_name         varchar(50)      default ''                    comment '文件名称',file_path         varchar(255)     default ''                    comment '文件路径',primary key (file_id)
) engine=innodb auto_increment=1 default charset=utf8 comment = '文件信息表';

1.上传实现流程

1、el-input修改成el-upload

<el-uploadref="upload":limit="1"accept=".jpg, .png":action="upload.url":headers="upload.headers":file-list="upload.fileList":on-progress="handleFileUploadProgress":on-success="handleFileSuccess":auto-upload="false"><el-button slot="trigger" size="small" type="primary">选取文件</el-button><el-button style="margin-left: 10px;" size="small" type="success" :loading="upload.isUploading" @click="submitUpload">上传到服务器</el-button><div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>

2、引入获取token

import { getToken } from "@/utils/auth";

3、data中添加属性

// 上传参数
upload: {// 是否禁用上传isUploading: false,// 设置上传的请求头部headers: { Authorization: "Bearer " + getToken() },// 上传的地址url: process.env.VUE_APP_BASE_API + "/common/upload",// 上传的文件列表fileList: []
},

4、新增和修改操作对应处理fileList参数

handleAdd() {...this.upload.fileList = [];
}handleUpdate(row) {...this.upload.fileList = [{ name: this.form.fileName, url: this.form.filePath }];
}

5、添加对应事件

// 文件提交处理
submitUpload() {this.$refs.upload.submit();
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {this.upload.isUploading = false;this.form.filePath = response.url;this.msgSuccess(response.msg);
}

注意:此种方式使用的是前端技术实现了文件的上传操作,修改文件时会有问题。

列表显示:

      <el-table-column label="头像" align="center" prop="filePath"><template slot-scope="scope"><el-imagestyle="width: 100px; height: 100px":src="scope.row.filePath"></el-image></template></el-table-column>

2.下载实现流程

1、添加对应按钮和事件

<el-buttonsize="mini"type="text"icon="el-icon-edit"@click="handleDownload(scope.row)"
>下载</el-button>

2、实现文件下载

// 文件下载处理
handleDownload(row) {var name = row.fileName;var url = row.filePath;var suffix = url.substring(url.lastIndexOf("."), url.length);const a = document.createElement('a')a.setAttribute('download', name + suffix)a.setAttribute('target', '_blank')a.setAttribute('href', url)a.click()
}

相关文章:

7-上传下载

上传下载 首先创建一张上传文件的表&#xff0c;例如&#xff1a; drop table if exists sys_file_info; create table sys_file_info (file_id int(11) not null auto_increment comment 文件id,file_name varchar(50) default …...

数字图像处理(实践篇)三十六 OpenCV-Python 使用ORB和BFmatcher对两个输入图像的关键点进行匹配实践

目录 一 涉及的函数 二 实践 ORB(Oriented FAST and Rotated BRIEF)是一种特征点检测和描述算法,它结合了FAST关键点检测和BRIEF描述子。ORB算法具有以下优势: ①实时性:能够在实时应用中进行快速的特征点检测和描述。 ②...

算法每日一题: 边权重均等查询 | 公共子祖先

大家好&#xff0c;我是星恒&#xff0c;今天给大家带来的是一道图里面有关公共子祖先的题目&#xff0c;理解起来简单&#xff0c;大家 题目&#xff1a;leetcode 2846 现有一棵由 n 个节点组成的无向树&#xff0c;节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n …...

使用JavaScript和XLSX.js将数据导出为Excel文件

目录 一、安装XLSX.js二、将数据转换为Excel文件 导出数据是Web应用程序中常见的功能之一。在许多情况下&#xff0c;我们需要将数据导出为Excel文件&#xff0c;以便用户可以在本地计算机上查看和编辑数据。在本篇博客中&#xff0c;我们将介绍如何使用JavaScript和XLSX.js将数…...

如何使用YOLOv8训练自己的模型

本文介绍如何用YOLO8训练自己的模型&#xff0c;我们开门见山&#xff0c;直接步入正题。 前言&#xff1a;用yolo8在自己的数据集上训练模型首先需要配置好YOLO8的环境&#xff0c;如果不会配置YOLO8环境可以参考本人主页的另一篇文章 提醒&#xff1a;使用GPU训练会大幅度加…...

机器学习-逻辑回归【手撕】

逻辑回归 在模式识别问题中&#xff0c;所输出的结果是分类&#xff0c;比如是否是猫&#xff0c;这时候无法通过简单的线性回归来实现问题。同时&#xff0c;与线性回归不同的是&#xff0c;逻辑回归是一种名为回归的线性分类器&#xff0c;并常用于二分类&#xff0c;其本质…...

内网安全:NTLM-Relay

目录 NTLM认证过程以及攻击面 NTLM Relay攻击 NTLM攻击总结 实验环境说明 域横向移动&#xff1a;NTLM中继攻击 攻击条件 实战一&#xff1a;NTLM中继攻击-CS转发上线MSF 原理示意图 一. CS代理转发 二. MSF架设路由 三. 适用smb_relay模块进行中继攻击 域横向移动…...

Tensorflow2.0笔记 - tensor的padding和tile

本笔记记录tensor的填充和tile操作&#xff0c;对应tf.pad和tf.tile import tensorflow as tf import numpy as nptf.__version__#pad做填充 # tf.pad( tensor,paddings, modeCONSTANT,nameNone) #1维tensor填充 tensor tf.random.uniform([5], maxval10, dtypetf.int32) pri…...

多媒体测试资源

目录 简介自己整理的文件测试资源列表 简介 音视频测试时,需要许多源文件,这里整理了一些.会持续更新.当然可以使用ffmpeg转换获得需要的文件. 如果知道的这方面资源的,在评论区留言. 自己整理的文件 有视频,图片,音频. 链接&#xff1a;https://pan.baidu.com/s/1vatLmWk…...

Wordpress seo优化该怎么做?

Wordpress作为开源管理系统&#xff0c;目前已然是世界上最流行的cms之一&#xff0c;这不仅仅因为他开源&#xff0c;对用户友好&#xff0c;让任何人都能轻而易举的制作网站&#xff0c;更是因为这套程序对于搜索引擎非常友好&#xff0c;是做谷歌seo的不二之选 Wordpress作为…...

Ultraleap 3Di示例Interactable Objects组件分析

该示例代码位置如下&#xff1a; 分析如下&#xff1a; Hover Enabled&#xff1a;悬停功能&#xff0c;手放在这个模型上&#xff0c;会触发我们手放在这个模型上的悬停功能。此时当手靠近模型的时候&#xff0c;手的模型的颜色会发生改变&#xff0c;反之&#xff0c;则不会…...

Vue自定义成功弹窗H5实现类似于小程序的效果

效果图&#xff1a; <div class"father"><div class"success-box" v-if"isSuccess"><img src"../../assets/insure/success-logo.png" alt""><span>{{ successTitle }}</span></div> &…...

Linux之父:我们正在从C语言转向Rust

最近&#xff0c;Linus在“Torvalds 演讲&#xff1a;人工智能对编程的影响”&#xff1a;“我们正在从C语言转向Rust”。 网友讨论&#xff1a; Linus 选择 Rust 是因为&#xff0c;这是一个中长期解决方案&#xff0c;解决了 IT 世界中缺乏 C/C 人员的实际问题&#xff0c;所…...

C++ qt标题栏组件绘制

本博文源于笔者在学习C qt制作的标题栏组件&#xff0c;主要包含了&#xff0c;最小化&#xff0c;最大化&#xff0c;关闭。读者在看到这篇博文的时候&#xff0c;可以直接查看如何使用的&#xff0c;会使用了&#xff0c;然后进行复制粘贴源码部分即可。 问题来源 想要制作…...

Mysql运维篇(三) MySQL备份与恢复

一路走来&#xff0c;所有遇到的人&#xff0c;帮助过我的、伤害过我的都是朋友&#xff0c;没有一个是敌人。如有侵权&#xff0c;请留言&#xff0c;我及时删除&#xff01; 一、物理备份与逻辑备份 1、物理备份&#xff1a;备份数据文件&#xff0c;转储数据库物理文件到某…...

数字图像处理(实践篇)二十七 Python-OpenCV 滑动条的使用

目录 1 涉及的函数 2 实践 1 涉及的函数 ⒈ setWindowProperty()用于设置GUI应用程序的属性 cv2.setWindowProperty(windowsName, prop_id, prop_value) 参数: ①...

拷贝构造函数的理解

1.拷贝构造函数与构造函数类似&#xff0c;当没有自定义拷贝构造函数的时候&#xff0c;编译器会定义一个拷贝构造函数。 当类对象没有初始化的时候&#xff0c;通过赋值运算符的形式&#xff0c;也是调用拷贝构造函数。 Test aa(100); Test bb aa;//调用拷贝构造函数Test …...

基于ncurse的floppy_bird小游戏

1. 需求分析 将运动分解为鸟的垂直运动和杆的左右运动。 2. 概要设计 2.1 鸟运动部分 2.2 杆的运动 3. 代码实现 #include <stdio.h> #include <ncurses.h>#include <stdlib.h> #include <time.h>int vx 0; int vy 1;int bird_r; int bird_c;int…...

创建第一个 Spring 项目(IDEA社区版)

文章目录 创建 Spring 项目创建一个普通的 Maven 项目添加 Spring 依赖IDEA更换国内源 运行第一个 Spring 项目新建启动类存储 Bean 对象将Bean注册到Spring 获取并使用 Bean 对象 创建 Spring 项目 创建一个普通的 Maven 项目 首先创建一个普通的 Maven 项目 添加 Spring 依…...

VUE3动漫影视视频网站模板源码

文章目录 1.视频设计来源1.1 主界面1.2 动漫、电视剧、电影视频界面1.3 播放视频界面1.4 娱乐前线新闻界面1.5 关于我们界面 2.效果和源码2.1 动态效果2.2 源码结构 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/deta…...

保姆级教程:在ArcGIS Pro插件中集成你的自定义工具箱(以‘消除重复要素’为例)

从脚本到按钮&#xff1a;ArcGIS Pro插件开发实战指南 在GIS日常工作中&#xff0c;我们常常会遇到一些重复性的数据处理任务。比如数据质检环节的"消除重复要素"操作&#xff0c;虽然可以通过Python脚本实现&#xff0c;但每次都需要打开IDE或Python窗口执行代码&am…...

Rydberg原子量子门实现原理与优化技术

1. Rydberg原子平台中的量子门实现基础1.1 Rydberg原子特性与量子计算优势Rydberg原子是指外层电子被激发到高主量子数能级的原子态&#xff0c;这类原子具有三个关键特性使其成为量子计算的理想平台&#xff1a;强偶极-偶极相互作用&#xff1a;当两个原子同时处于Rydberg态时…...

别再只测accuracy!DeepSeek集成测试必须监控的5个隐性指标(P99首token延迟、context bleed率、tool-call schema漂移)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek集成测试的核心范式演进 DeepSeek大模型的工程化落地对集成测试提出了全新挑战&#xff1a;传统基于接口响应码与字段校验的测试范式已难以覆盖语义一致性、推理链鲁棒性、上下文敏感度等高阶质…...

AI写的论文双率如何压到20%以下?这几款工具实测有效

毕业季、投稿季用AI写论文已经成为不少人的高效选择&#xff0c;但查重率飘红、AIGC疑似率超标两大问题&#xff0c;让很多人犯了难。2026年学术检测标准持续收紧&#xff0c;知网、维普及主流AIGC检测系统同步上线双检规则&#xff0c;两项指标均控制在20%以下才符合基本提交要…...

紧急预警:DeepSeek代码生成中未公开的3类逻辑漂移现象(附自动化检测脚本+修复模板)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;紧急预警&#xff1a;DeepSeek代码生成中未公开的3类逻辑漂移现象&#xff08;附自动化检测脚本修复模板&#xff09; 近期在多轮生产级代码审计中发现&#xff0c;DeepSeek-R1&#xff08;v2.5&#x…...

从API Key管理视角看Taotoken平台的安全与审计功能

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 从API Key管理视角看Taotoken平台的安全与审计功能 对于依赖大模型API进行开发的团队而言&#xff0c;API Key的管理与安全是项目稳…...

基于Arduino UNO的真随机数生成与数据持久化在Tambola游戏机中的应用

1. 项目概述&#xff1a;用Arduino UNO打造一台全自动Tambola游戏机如果你玩过或者听说过Tambola&#xff08;在印度非常流行的游戏&#xff0c;在欧美也叫Bingo或Housie&#xff09;&#xff0c;就知道它的核心玩法是主持人从一个装有数字球的容器中随机抽取号码&#xff0c;玩…...

NPU跑LLM实战指南:KV Cache动态性如何突破硬件限制

NPU跑LLM实战指南:KV Cache动态性如何突破硬件限制 副标题: 从预分配+Attention Mask到三层软件栈,完整解析NPU推理架构 痛点:为什么NPU跑LLM这么难? LLM的生成机制和NPU的硬件特性存在根本冲突: LLM特性 NPU特性 冲突点 逐token生成 固定shape执行 KV Cache动态增长 动…...

哪款台灯护眼效果最好孩子用?实测口碑爆款护眼灯品牌,买前必看

哪款台灯护眼效果最好孩子用&#xff1f;作为家长&#xff0c;最揪心的就是孩子的视力问题。有数据显示&#xff0c;现在孩子近视率越来越高&#xff0c;小学就有不少戴眼镜的&#xff0c;中学更是过半&#xff0c;看着实在让人担心。 孩子每天低头写作业、看书&#xff0c;灯光…...

告别Selenium?手把手教你用Playwright录制脚本,5分钟搞定Web自动化测试

5分钟极速上手Playwright脚本录制&#xff1a;零代码实现Web自动化测试当产品经理突然丢给你一个刚上线的电商活动页&#xff0c;要求半小时内完成所有核心链路测试时&#xff0c;传统的手写Selenium脚本显然来不及。作为测试工程师&#xff0c;我最近发现微软开源的Playwright…...