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用mixin合并重复代码的实现
Nov 27 Vue.js
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
vue 使用class创建和清除水印的示例代码
Dec 25 Vue.js
详解template标签用法(含vue中的用法总结)
Jan 12 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
原生JS封装vue Tab切换效果
Apr 28 Vue.js
Vue Element UI自定义描述列表组件
May 18 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 Vue.js
vue2的 router在使用过程中遇到的一些问题
Apr 13 Vue.js
VUE递归树形实现多级列表
Jul 15 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
?生?D片??C字串
2006/12/06 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
django数据库自动重连的方法实例
2019/07/21 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
Jupyter加载文件的实现方法
2020/04/14 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
Django之腾讯云短信的实现
2020/06/12 Python
python 如何快速复制序列
2020/09/07 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
信息技术专业个人自我评价
2013/12/11 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
MYSQL 表的全面总结
2021/11/11 MySQL
Java设计模式之代理模式
2022/04/22 Java/Android