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

element 如何实现文件上传下载导出

上传:

前端:

<div><el-dialogtitle="低值易耗文件上传":visible.sync="dialogUploadVis"width="25%"><el-uploadclass="upload-demo"drag:on-change="handleChange":file-list="upload.fileList":multiple="false":auto-upload="false":http-request="uploadFile"action="string"ref="upload"><i class="el-icon-upload"></i><div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div><div class="el-upload__tip" slot="tip" style="text-align: center;">仅允许导入xlsx、xls格式文件。<el-link type="primary" :underline="false">下载模板</el-link></div></el-upload><span slot="footer" class="dialog-footer"><el-button type="primary" @click="uploadButSubmit">确 定</el-button><el-button @click="dialogUploadVis = false">取 消</el-button></span></el-dialog>
</div><script>
data(){
return(
upload: {fileList: [],formData: ''},
)} methods: {submitUpload() {this.$refs.upload.submit()},delFile() {this.fileList = []},handleChange(file, fileList) {this.fileList = fileList},//自定义上传文件uploadFile(file) {//this.formData.append("file", file.file);},//保存按钮async uploadButSubmit() {let formData = new FormData()console.log(this.fileList)formData.append('file', this.fileList[0].raw) //拿到存在fileList的文件存放到formData中await ****(formData).then(res => {this.$message({message: res,type: 'success'})this.$emit('closeUpload')}).catch(res => {this.$message({message: res,type: 'error'})})},}
</script>

下载:

导出:

前端:

<div>
<el-button type="warning" @click="downloadBut"><i class="el-icon-download"></i> 导出</el-button>
</div>//api
//requestMultipart 为文件请求方式
export function ****() {return requestMultipart({url: '*****',method: 'get',params: {*****},responseType: 'blob'})
}//npm install file-saver --save
import FileSaver from 'file-saver'<script>async downloadBut() {await *****().then(res => {FileSaver.saveAs(new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8' }),`低值易耗.xlsx`)}).catch()},
</script>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于QT开发的反射内存小工具
  • OWASP ZAP
  • 低代码研发项目管理流程优化:提效与创新的双重驱动
  • 【Unity2D 2022:UI】制作主菜单
  • 昇思25天学习打卡营第1天|初步了解
  • [Linux][Shell][Shell函数]详细讲解
  • Qt 统计图编程
  • Apache Seata分布式事务启用Nacos做配置中心
  • 禅道二次开发——禅道zentaoPHP框架扩展机制——对视图层(view)扩展
  • Linux账号和权限管理详解
  • 浅谈MMORPG的战斗系统
  • Mysql知识大全
  • ubuntu22.04 编译freetype动态库
  • 决策树算法介绍,原理与案例实现
  • 代码审查的艺术:Xcode的深度指南与实战技巧
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 03Go 类型总结
  • 10个确保微服务与容器安全的最佳实践
  • Akka系列(七):Actor持久化之Akka persistence
  • Babel配置的不完全指南
  • gitlab-ci配置详解(一)
  • JavaScript实现分页效果
  • java概述
  • Java小白进阶笔记(3)-初级面向对象
  • JS学习笔记——闭包
  • Laravel 实践之路: 数据库迁移与数据填充
  • Node 版本管理
  • 初识MongoDB分片
  • 搭建gitbook 和 访问权限认证
  • 第2章 网络文档
  • 前端面试之CSS3新特性
  • 前端面试之闭包
  • 我的业余项目总结
  • 一个完整Java Web项目背后的密码
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • postgresql行列转换函数
  • ​​​【收录 Hello 算法】9.4 小结
  • ​埃文科技受邀出席2024 “数据要素×”生态大会​
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • $.ajax()参数及用法
  • (160)时序收敛--->(10)时序收敛十
  • (2.2w字)前端单元测试之Jest详解篇
  • (3)llvm ir转换过程
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)setTimeout 和 setInterval 的区别
  • .Net core 6.0 升8.0
  • .NET开发不可不知、不可不用的辅助类(一)
  • @antv/g6 业务场景:流程图
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • @Resource和@Autowired的区别
  • [ C++ ] 类和对象( 下 )