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 相关文章推荐
如何实现vue的tree组件
Dec 03 Vue.js
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
vue3.0自定义指令(drectives)知识点总结
Dec 27 Vue.js
vue+vant 上传图片需要注意的地方
Jan 03 Vue.js
详解Vue2的diff算法
Jan 06 Vue.js
基于vuex实现购物车功能
Jan 10 Vue.js
vue 组件基础知识总结
Jan 26 Vue.js
Vue和Flask通信的实现
May 19 Vue.js
Vue.Draggable实现交换位置
Apr 07 Vue.js
如何优化vue打包文件过大
Apr 13 Vue.js
解决vue中provide inject的响应式监听
Apr 19 Vue.js
Vue Element plus使用方法梳理
Dec 24 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
在线竞拍系统的PHP实现框架(一)
2006/10/09 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
Javascript学习笔记二 之 变量
2010/12/15 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
使用nodejs下载风景壁纸
2017/02/05 NodeJs
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
node.js操作mysql简单实例
2017/05/25 Javascript
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
2019/11/25 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
教大家使用Python SqlAlchemy
2016/02/12 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
2016/06/23 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
Python 去除字符串中指定字符串
2020/03/05 Python
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
给同学的道歉信
2014/01/16 职场文书
2014小学生国庆65周年演讲稿
2014/09/21 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
小学运动会入场词
2015/07/18 职场文书
Nginx配置之禁止指定IP访问
2022/05/02 Servers