vue el-upload上传文件的示例代码
话不多说 直接上代码
<el-upload :action='actionUrl' :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 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上传文件的资料请关注好吧啦网其它相关文章!
相关文章:
