<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在後臺管理系統中總是會用到上傳檔案的功能,
想實現的樣式如下:(實現上傳檔案後,在input輸入框顯示檔名 )
結構程式碼如下:
<el-form-item label="使用說明" class="uploadMain" prop="instruction"> <el-input class="uploadInput" v-model="productVO.instruction" style="width: 75%" placeholder="請上傳pdf格式的使用說明檔案" :disabled="true" > <el-upload slot="append" class="uploadbox" ref="upload" name="file" accept=".pdf" //接受上傳檔案的格式,此處會預設開啟上傳時篩選.pdf格式 :show-file-list="false" :multiple="false" //如果想要一次選擇多個檔案 mulitiple為true action="upload" :on-change="onChange" :auto-upload="false" //自動上傳,如果此處為true 選擇完檔案就直接上傳了 > <!-- class="uploadbtn" --> <el-button class="uploadbtn"></el-button> </el-upload> </el-input> </el-form-item>
由於上述結構程式碼開啟上傳檔案時會自動篩選accept的檔案格式,但是在使用者選擇時仍可以自己選擇全部檔案,所以需要前端對上傳檔案進行初步的格式檢驗
前端部分上傳檔案初步檢驗js程式碼如下:
onChange(file) { // 校驗格式 if (['application/pdf'].indexOf(file.raw.type) == -1) { this.$message.error('請上傳正確的pdf格式'); return false; } this.productVO.instruction = file.name; this.productVO.instructionFile = file.raw; //上傳檔案時需要用到二進位制,所以這裡檔案取值為file.raw },
上傳至介面時js程式碼如下:
submit(){ const formData = new FormData(); formData.append('instruction', this.productVO.instruction); formData.append('instructionFile',this.productVO.instructionFile); //呼叫介面 this.$post('/product/create',formData,{ baseURL:'/', header:{isloading: true,'Content-Type': 'multipart/form-data'}).then() }
".doc" | "application/msword" | ".xls" | "application/vnd.ms-excel" |
".docx" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | ".xlsx" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" |
".jpeg" | "image/jpeg" | ".mp3" | "audio/x-mpeg" |
".jpg" | "image/jpeg" | ".mp4" | "video/mp4" |
".png" | "image/png" | ".pdf" | "application/pdf" |
".ppt" | "application/vnd.ms-powerpoint" | ".txt" | "text/plain" |
".tar" | "application/x-tar" | ".wps" | "application/vnd.ms-works" |
".zip" | "application/x-zip-compressed" | ".xml" | "text/plain" |
附加:當上傳檔案為多個時,具體程式碼如下:
<el-form-item label="資料" class="uploadMain" prop="entity"> <el-input class="uploadInput" v-model="productVO.entity" style="width: 75%" placeholder="請上傳完整的tif/tiff/shp格式的資料檔案" :disabled="true" > <el-upload slot="append" class="uploadbox" ref="upload" name="file" accept=".tif,.tiff,.shp,.dbf,.prj,.sbn,.sbx,.shx" :show-file-list="false" multiple :file-list="this.productVO.fileList" action="upload" :on-change="onChange" :auto-upload="false" > <!-- class="uploadbtn" --> <el-button class="uploadbtn"></el-button> </el-upload> </el-input> <div style="color: #ffc230">此處是文字說明</div> </el-form-item>
js程式碼如下:
onChange(file,fileList) { // 校驗格式 if (['image/tiff', ''].indexOf(file4.raw.type) == -1) { this.$message.error('請上傳正確的tif/tiff/shp格式'); return false; }else{ this.productVO.fileList=fileList console.log(this.productVO.fileList) var listName=[] this.productVO.fileList.forEach(function(e){listName.push(e.name)}) var listFileRaw=[] this.productVO.fileList.forEach(function(e){listFileRaw.push(e.raw)}) this.productVO.entity = listName; //文字方塊顯示所有的檔名 this.productVO.entityFile = listFileRaw; } },
介面上傳檔案時formData傳參改動如下:
this.productVO.entityFile.forEach(element => { formData.append('entityFile', element) })
總結
到此這篇關於element-ui el-upload實現上傳檔案及簡單的上傳檔案格式驗證功能的文章就介紹到這了,更多相關element-ui el-upload上傳檔案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45