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

话不多说 直接上代码

<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上传文件的资料请关注其它相关文章!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容