vue el-upload上传文件的示例代码


Posted in Vue.js onDecember 21, 2020

话不多说 直接上代码

<el-upload
       :action="actionUrl"
       class="avatar-uploader"
       :multiple="false"
       name="files"
       ref="upload"
       :file-list="fileList"
       :on-preview="handlePreview"
       :on-success="handleSuccess"
       :before-upload ="beforeUpload"
       :http-request="httpRequest"
       :on-exceed="handleExceed"
       :on-change="handleChanged"
       accept=".csv,.xls,.xlsx"
       :auto-upload="false"
      >
<el-button slot="trigger" size="small">选取文件</el-button>

<el-button style="margin-left: 10px;" size="small" type="primary" @click="submitUpload">上传到服务器</el-button>

<div slot="tip" class="el-upload__tip">只能上传csv/xslx/xsl文件,且不超过1M</div>
</el-upload>
actionUrl: `${env.imgCaptchaUrl}**/upload`,
fileList: [],

handleChanged(file,fileList){
   this.fileList = fileList
  },
  handleExceed (file, fileList) {
   console.log(file);
  },
  handleSuccess (res, file) {
   console.log(file);
   console.log(res);
  },
  handlePreview(file){
   console.log(file);
  },
  beforeUpload (file) {
   if (file.size / 1024 / 1024 > 1) {
    Vue.$vux.toast.text('上传文件不超过1M')
    return false
   }
   var ext = file.name.substring(file.name.lastIndexOf('.') + 1)
   const extension =
    ext === 'csv' ||
    ext === 'CSV' ||
    ext === 'xlsx' ||
    ext === 'xls'
   if (!extension) {
    Vue.$vux.toast.text('上传文件格式只能为csv、xlsx/xls')
    return false
   }
  },
  httpRequest (opt) {
   const _this = this
   const file = opt.file
   Vue.$vux.toast.text('文件上传中...')
   var reader = new FileReader()
   reader.readAsDataURL(file)
   reader.onload = function (e) {
    let imgType = ''
    var ext = file.name.substring(file.name.lastIndexOf('.') + 1)
    if (ext === 'csv' ) {
     imgType = 'csv'
    }
    if (ext === 'xlsx' || ext === 'xls') {
     imgType = 'xlsx'
    }
    uploadCsv({
     files: this.result.replace(`data:image/${imgType};base64,`, '')
    })
     .then(res => {
      if (res.errno === 0) {
       Vue.$vux.toast.text('上传成功')
       _this.account.license_url = res.data.url
      }
     })
     .catch(err => {})
   }
  },
  submitUpload(){
   if(this.fileList.length==0){
    this.successDialog = "请先选择文件";
    this.sussAlog = true;
    return
   }
   this.$refs.upload.submit();
  },

onDownload(){
   let start = ""
   let end = ""
   if(this.form.time){
    start = parseTime(this.form.time[0]);
    end = parseTime(this.form.time[1]);
   }
   delete(this.form.time)
   Object.assign(this.form, { 
    first_time: start, 
    end_time: end ,
   });
   let { 
      first_time,
      end_time,
     } = this.form;
   window.open(this.downUrl+"lm/downloadModel?"+
   "&first_time="+first_time+
   "&end_time="+end_time
   , '_blank');
  },

以上就是vue el-upload上传文件的示例代码的详细内容,更多关于vue el-upload上传文件的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
深入了解Vue3模板编译原理
Nov 19 Vue.js
vue element实现表格合并行数据
Nov 30 Vue.js
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 Vue.js
vue实现登录功能
Dec 31 Vue.js
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
详解Vue的options
May 15 Vue.js
详解Vue router路由
Nov 20 Vue.js
详解Vue项目的打包方式(生成dist文件)
Jan 18 Vue.js
一篇文章告诉你如何实现Vue前端分页和后端分页
Feb 18 Vue.js
vue中div禁止点击事件的实现
Apr 02 Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 Vue.js
vue如何在data中引入图片的正确路径
Jun 05 Vue.js
vue 在单页面应用里使用二级套嵌路由
Dec 19 #Vue.js
vue中如何添加百度统计代码
Dec 19 #Vue.js
vue 导航守卫和axios拦截器有哪些区别
Dec 19 #Vue.js
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 #Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 #Vue.js
Vue——前端生成二维码的示例
Dec 19 #Vue.js
如何在vue中使用kindeditor富文本编辑器
Dec 19 #Vue.js
You might like
Phpbean路由转发的php代码
2008/01/10 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
php格式文件打开的四种方法
2018/02/24 PHP
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
JavaScript中如何调用Java方法
2020/09/16 Javascript
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
详解Python中DOM方法的动态性
2015/04/11 Python
python实现ping的方法
2015/07/06 Python
Python编程中time模块的一些关键用法解析
2016/01/19 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
四川成都导游欢迎词
2014/01/18 职场文书
环保志愿者活动总结
2014/06/27 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书