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

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

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

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

具體需求場景如下:

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

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

說明:

在上傳文件到展示統(tǒng)計結(jié)果,我們后端給了兩個接口:首先調(diào)用文件上傳接口,上傳成功后,根據(jù)后端返回的mark再調(diào)用統(tǒng)計結(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)計結(jié)果接口,返回一個promise以便進(jìn)行鏈?zhǔn)秸{(diào)用 }) .then( res => { //鏈?zhǔn)秸{(diào)用,統(tǒng)計結(jié)果的響應(yīng)const { data: { code, data } } = resif(code === 0) { console.log(’統(tǒng)計結(jié)果’, data)} }) .catch( err => {console.log(’失敗’, err)param.onError() //上傳失敗的文件會從文件列表中刪除 }) }, // 統(tǒng)計結(jié)果 countFile(mark) {return new Promise((resolve, reject) => { axios.get(`/operation/ruleImport/countData?mark=${mark}`).then(res => { resolve(res)}).catch(error => { reject(error)})}) }, // 點擊上傳:手動上傳到服務(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)文章:
主站蜘蛛池模板: 亚洲二区视频 | 91视频免费视频 | 在线视频成人 | 国产91久久精品一区二区 | 久久精品黄色 | 免费在线黄色av | 国产伦精品一区二区三区视频金莲 | 婷婷综合网 | 久久精点视频 | 亚洲欧美日韩系列 | 中文字幕在线观看国产 | 久久国产精品精品国产色婷婷 | 日韩视频在线观看 | 亚洲福利在线观看 | 国产免费一区二区 | 日日操夜夜操天天操 | 麻豆视频在线免费看 | 一级毛片播放 | 日韩一区二区免费视频 | 色婷婷九月| 久久国产精品久久久久久久久久 | 国产精品久久久久一区二区三区 | jizz视频| 国产日韩精品在线 | 国产精品国产三级国产aⅴ中文 | 91观看| 久久精品一区二 | 国产欧美一区二区三区在线播放 | 久久激情五月丁香伊人 | 91久操视频 | 黄网站涩免费蜜桃网站 | 五月婷婷 六月丁香 | 99re视频在线 | 精品久 | 中文字幕在线观看第一页 | 蜜臀久久99精品久久久久野外 | 国产欧美一区二区久久性色99 | 亚洲高清视频一区 | av一级毛片 | 宅女噜噜66国产精品观看免费 | 国产线视频精品免费观看视频 |