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

vue+elementui 实现上传文件/导入文件的功能

vue+elementui 实现上传文件/导入文件的功能

1. 上传组件

<el-form-item label="上传文件:">
  <el-upload
    action=""
    :file-list="fileList"
    :show-file-list="false"
    :http-request="handUpLoad"
    drag
    :limit="1"
    :accept="'.xls, .xlsx'"
  >
    <i class="el-icon-upload" />
    <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
  </el-upload>
  <ul class="downloadFile">
    <li v-for="(val, index) in fileList" :key="index">
    <a class="el-upload-list__item-name" href="javascript:;"><i class="el-icon-document" />{{ val.fileName }}</a>
    <i class="el-icon-close" @click="handleFileRemove(val)" />
    </li>
    <li v-show="fileLoading"><i class="loading el-icon-loading" /> </li>
  </ul>
</el-form-item>

2. data中的数据

data() {
  return {
    fileList: [],
    fileLoading: false,
    fileobj: ''
  }
}

3. methods中的方法

① 选择文件
handUpLoad(fileobj) {
  this.fileobj = fileobj
  this.fileList = [{
    fileName: fileobj.file.name,
    fileSize: fileobj.file.size
  }]
}
② 点击确定,调用接口上传文件
submit() {
  if (this.fileList.length === 0) {
    this.$message({
      message: '请先上传文件',
      type: 'warning'
    })
    return
  }
  const param = new FormData()
  param.append('file', this.fileobj.file)
  // 调用上传文件的方法--fileImport
  fileImport(param).then(res => {
    this.$message({
      type: 'success',
      message: '上传成功'
    })
  }).catch(err => {
    this.$message.error(err)
  }).finally(() => {
    this.$emit('refresh')
  })
 }
③ 删除文件
handleFileRemove() {
  this.fileList = []
}
http://www.dtcms.com/a/50855.html

相关文章:

  • 播放器系列4——PCM重采样
  • 今天来介绍和讨论 AGI(通用人工智能)
  • STM32标准库代码详解之GPIO
  • 记录linux安装mysql后链接不上的解决方法
  • 代码随想录算法训练营第三十九天|01背包问题 二维、 01背包问题 一维、416. 分割等和子集
  • 通往 AI 之路:Python 机器学习入门-概率与统计
  • 计算机毕业设计SpringBoot+Vue.js乐享田园系统(源码+文档+PPT+讲解)
  • 大模型时代下的数据标注革命:工具、挑战与未来趋势
  • Pywinauto Recorder: 将Windows操作转化为Python脚本,高效简易地实现操作自动化
  • 测试人员如何更好的跟踪BUG
  • 【C++】2.2.2 变量声明和定义的关系
  • devDependencies和dependencies的区别
  • 12、算法
  • 实时语义分割之FarSeeNet(2020)模型解析代码复现及滑坡检测实战
  • Linux----网络通信
  • WPS AI+office-ai的安装、使用
  • Linux查看TP6 command定时任务并重启
  • 一、Prometheus架构
  • table 拖拽移动
  • 广域互联网关键技术详解(GRE/LSTP/IPsec/NAT/SAC/SPR)
  • 文件上传复现
  • Office 2021 Mac Office办公
  • 【银河麒麟高级服务器操作系统实际案例分享】数据库资源重启现象分析及处理全过程
  • HTML5+CSS3+JS小实例:带缩略图的焦点图
  • vue组合式API中prop
  • 深入 Vue.js 组件开发:从基础到实践
  • 《张一鸣,创业心路与算法思维》
  • 准确--Centos最小化安装通过命令去修改ip和dns
  • 本地部署Dify及避坑指南
  • 【powerjob】 powerjobserver注册服务IP错误