话不多说 直接上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<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> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
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上传文件的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/yangsg/p/13182228.html