当前位置: 首页 > 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 = []
}

相关文章:

  • 播放器系列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)
  • 旅游网站建设色彩搭配表/seo搜索引擎优化名词解释
  • 汕尾东莞网站建设/应用商店aso优化
  • 淘宝客做的比较好的网站/焦作seo推广
  • 做视频网站付费版/seo英文
  • html5 门户网站模版/网络营销推广平台有哪些
  • 做网站开发学什么软件/免费视频外链生成推荐