av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

詳解Vue ElementUI手動上傳excel文件到服務(wù)器

瀏覽:168日期:2022-06-10 13:58:21
目錄概述屬性設(shè)置處理邏輯概述

具體需求場景如下:

詳解Vue ElementUI手動上傳excel文件到服務(wù)器

選擇excel文件后,需要把導(dǎo)入的excel文件手動上傳到后臺服務(wù)器,并將導(dǎo)入成功后的統(tǒng)計(jì)結(jié)果顯示出來。官網(wǎng)也有手動上傳的示例,通過 action='url' 傳入地址的方式,但在實(shí)際項(xiàng)目中請求需要自己配置,下面具體說明實(shí)現(xiàn)的方法。

說明:

在上傳文件到展示統(tǒng)計(jì)結(jié)果,我們后端給了兩個接口:首先調(diào)用文件上傳接口,上傳成功后,根據(jù)后端返回的mark再調(diào)用統(tǒng)計(jì)結(jié)果接口。

屬性設(shè)置

.vue文件

<el-row> <div class='el-form-item__content'><el-upload ref='upload' accept='.xls,.xlsx' action='#' :auto-upload='false' :multiple='false' :file-list='fileList' :before-upload='beforeUpload' :http-request='uploadHttpRequest' :on-remove='fileRemove' :on-change='fileChange'> <el-button size='small' type='primary'>選擇文件</el-button> <div slot='tip' class='el-upload__tip'>一次只能上傳一個xls/xlsx文件,且不超過10M</div></el-upload> </div></el-row><el-row> <el-button size='small' @click='closeDialog'>取 消</el-button> <el-button type='primary' size='small' @click='submitUpload'>上 傳</el-button> <el-button type='primary' size='small' @click='downloadRes'>下載反饋結(jié)果</el-button></el-row>

其中:

action:上傳的地址,可以不用過多關(guān)注,但也不建議刪除,可用普通字符串代替 auto-upload:是否自動上傳,因這里是手動上傳,所以設(shè)置為false multiple:是否支持多選,此處設(shè)置為 false file-list:上傳的文件列表數(shù)組 before-upload:上傳文件之前的鉤子,參數(shù)為上傳的文件,可以在這里判斷上傳文件的類型,文件大小等 http-request:自定義上傳的方法,會覆蓋默認(rèn)的上傳行為(即action='url') on-remove:上傳文件移除時觸發(fā)的方法 on-change:上傳文件狀態(tài)(添加,上傳成功或失敗)改變時觸發(fā)的方法處理邏輯

邏輯處理代碼如下:

methods: { // 上傳文件之前的鉤子:判斷上傳文件格式、大小等,若返回false則停止上傳 beforeUpload(file) {//文件類型const isType = file.type === ’application/vnd.ms-excel’const isTypeComputer = file.type === ’application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’const fileType = isType || isTypeComputerif(!fileType) { this.$message.error(’上傳文件只能是xls/xlsx格式!’)}// 文件大小限制為10Mconst fileLimit = file.size / 1024 / 1024 < 10;if(!fileLimit) { this.$message.error(’上傳文件大小不超過10M!’);}return fileType && fileLimit }, // 自定義上傳方法,param是默認(rèn)參數(shù),可以取得file文件信息,具體信息如下圖 uploadHttpRequest(param) {const formData = new FormData() //FormData對象,添加參數(shù)只能通過append(’key’, value)的形式添加formData.append(’file’, param.file) //添加文件對象formData.append(’uploadType’, this.rulesType)const url = `${this.myBaseURL}/operation/ruleImport/importData` //上傳地址axios.post(url, formData) .then( res => {const { data: { code, mark } } = resif(code === 0) { param.onSuccess() // 上傳成功的文件顯示綠色的對勾 this.uploadMark = mark}return this.countData(this.uploadMark) //根據(jù)響應(yīng)的 mark 值調(diào)用統(tǒng)計(jì)結(jié)果接口,返回一個promise以便進(jìn)行鏈?zhǔn)秸{(diào)用 }) .then( res => { //鏈?zhǔn)秸{(diào)用,統(tǒng)計(jì)結(jié)果的響應(yīng)const { data: { code, data } } = resif(code === 0) { console.log(’統(tǒng)計(jì)結(jié)果’, data)} }) .catch( err => {console.log(’失敗’, err)param.onError() //上傳失敗的文件會從文件列表中刪除 }) }, // 統(tǒng)計(jì)結(jié)果 countFile(mark) {return new Promise((resolve, reject) => { axios.get(`/operation/ruleImport/countData?mark=${mark}`).then(res => { resolve(res)}).catch(error => { reject(error)})}) }, // 點(diǎn)擊上傳:手動上傳到服務(wù)器,此時會觸發(fā)組件的http-request submitUpload() {this.$refs.upload.submit() }, // 文件發(fā)生改變 fileChange(file, fileList) {if (fileList.length > 0) { this.fileList = [fileList[fileList.length - 1]] // 展示最后一次選擇的文件} }, // 移除選擇的文件 fileRemove(file, fileList) {if(fileList.length < 1) { this.uploadDisabled = true //未選擇文件則禁用上傳按鈕} }, // 取消 closeDialog() {this.$refs.upload.clearFiles() //清除上傳文件對象this.fileList = [] //清空選擇的文件列表this.$emit(’close’, false) }}

http-request 的param參數(shù),打印結(jié)果如圖。通過param.file取得當(dāng)前文件對象。

詳解Vue ElementUI手動上傳excel文件到服務(wù)器

以上就是詳解Vue ElementUI手動上傳excel文件到服務(wù)器的詳細(xì)內(nèi)容,更多關(guān)于Vue ElementUI手動上傳excel文件到服務(wù)器的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: excel
相關(guān)文章:
主站蜘蛛池模板: 激情综合五月 | 国产精品亚洲一区二区三区在线 | 亚洲综合首页 | 中文字幕在线看 | 国产一区二区在线免费观看 | 久久这里只有精品首页 | 日韩精品一区二区三区四区视频 | 精品久久ai电影 | 亚洲国产欧美在线 | 久久久久亚洲国产| 黄色大片在线免费观看 | 777777777亚洲妇女 | 黄色网址在线免费观看 | 一区二区三区影院 | 国产99久久久国产精品 | 亚洲av毛片 | 亚洲香蕉在线视频 | 国产自产c区| 欧美性久久 | 免费成人高清在线视频 | 手机在线观看 | 久久久精品视频一区二区三区 | 日韩超碰在线 | 亚洲精品综合一区二区 | 久久久久久久久国产精品 | 婷婷在线免费 | 国产成人精品一区二 | 91激情视频 | 97久久久 | 国产精品免费一区二区三区四区 | 欧美国产日韩在线 | 毛片a级毛片免费播放100 | 91中文字幕 | 永久www成人看片 | 精品国产乱码久久久久久蜜臀 | 中国黄色在线视频 | 波多野结衣二区 | 97avcc| 免费观看一级视频 | 成人免费共享视频 | 97精品一区二区 |