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中echarts的用法及与elementui-select的协同绑定操作
Nov 17 Vue.js
vue3弹出层V3Popup实例详解
Jan 04 Vue.js
Vue实现圆环进度条的示例
Feb 06 Vue.js
vue项目两种方式实现竖向表格的思路分析
Apr 28 Vue.js
详解Vue的options
May 15 Vue.js
vue使用节流函数的踩坑实例指南
May 20 Vue.js
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 Vue.js
vue响应式原理与双向数据的深入解析
Jun 04 Vue.js
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
vue中使用mockjs配置和使用方式
Apr 06 Vue.js
vue判断按钮是否可以点击
Apr 09 Vue.js
vue实现Toast组件轻提示
Apr 10 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设计模式 Singleton(单例模式)
2011/06/26 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
列表内容的选择
2006/06/30 Javascript
静态的动态续篇之来点XML
2006/12/23 Javascript
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
Django中URLconf和include()的协同工作方法
2015/07/20 Python
Python 常用的安装Module方式汇总
2017/05/06 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
Python shutil模块用法实例分析
2019/10/02 Python
python字典的值可以修改吗
2020/06/29 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
高中生学期学习自我评价
2014/02/24 职场文书
销售顾问工作计划书
2014/08/15 职场文书
软环境建设心得体会
2014/09/09 职场文书
护士年终考核评语
2014/12/31 职场文书
跑吧孩子观后感
2015/06/10 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
SQL CASE 表达式的具体使用
2022/03/21 SQL Server