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实现点击当前行变色
Dec 14 Vue.js
vue+openlayers绘制省市边界线
Dec 24 Vue.js
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
Jan 05 Vue.js
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
Vite和Vue CLI的优劣
Jan 30 Vue.js
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 Vue.js
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
vue3使用vue-router的完整步骤记录
Jun 20 Vue.js
深入讲解Vue中父子组件通信与事件触发
Mar 22 Vue.js
vue 把二维或多维数组转一维数组
Apr 24 Vue.js
vue ant design 封装弹窗表单的使用
Jun 01 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爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
Laravel5.4简单实现app接口Api Token认证方法
2019/08/29 PHP
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
2015/02/02 Javascript
js实现跨域访问的三种方法
2015/12/09 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
Python中的装饰器用法详解
2015/01/14 Python
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
python实现换位加密算法的示例
2018/10/14 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
运行Python编写的程序方法实例
2020/10/21 Python
python 爬虫请求模块requests详解
2020/12/04 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
开学典礼演讲稿
2014/05/23 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
公司财务管理制度
2015/08/04 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python
css height属性中的calc方法详解
2021/06/03 HTML / CSS
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript