自定義elementui上傳文件以及攜帶參數(shù)問題
自定義elementui上傳文件以及攜帶參數(shù)
elementui提供了上傳文件的ui,可以比較方便,我們需要它來完成自定義上傳文件以及攜帶參數(shù)需要改寫其中的一些方法來實現(xiàn)。
下面是一個簡單的上傳標簽
<el-upload
ref="upload"
style="display: inline"
drag
action=""
:before-upload="beforeUploadHandle"
:http-request="handleUploadForm"
:auto-upload="false"
multiple
:limit="1"
:on-exceed="handleExceed">
<el-link icon="el-icon-paperclip" type="primary">添加需要上傳的文件</el-link>
</el-upload>不自動上傳
:auto-upload=“false”
- 限制上傳文件個數(shù)
:limit=“1”
- 上傳之前的校驗
我們需要實現(xiàn)這個方法,來檢測上傳的合法性
:before-upload=“beforeUploadHandle”
- 上傳時需要攜帶參數(shù)
需要上傳的數(shù)據(jù)文件以及參數(shù)在這里來處理添加
:http-request=“handleUploadForm”
- 檢測添加文件是否超過限制
:on-exceed=“handleExceed”
手動上傳
其中的upload對應(yīng)于上面的ref=“upload”,我們只需要給按鈕實現(xiàn)一個方法執(zhí)行此語句便可以實現(xiàn)自己點擊上傳
this.$refs.upload.submit();
具體實現(xiàn)
上傳限制以及上傳之前的校驗不贅述,這里給出一個簡單的demo。
上傳限制實現(xiàn)類似,只是給出一些提示信息,file便是我們上傳的文件。
beforeUploadHandle(file) {
if (
file.type !== "image/png" &&
file.type !== "image/jpeg"
) {
this.$message.error("只支持.jpg、.jpeg、.jpe、.png文件!");
return false;
}
},攜帶參數(shù)
handleUploadForm(param) {
console.log(this.pid)
let thisInfo = this
let formData = new FormData()
// 在formData中加入我們需要的參數(shù)
formData.append('file', param.file)
formData.append('id', this.pid)
// 向后端發(fā)送數(shù)據(jù)
thisInfo.$axios.post('api/user/update_Info/', formData).then((res) => {
if (res.status === 200) {
thisInfo.$message.success('修改信息成功')
} else {
thisInfo.$message.success('修改信息失敗')
}
thisInfo.formFileList = []
thisInfo.uploadFormFileList = []
})
}element-ui上傳文件攜帶參數(shù)到后臺接收
前端

數(shù)據(jù)

后臺

注意這里要對應(yīng),接收的不是mydata,而是具體的值

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue-cil之a(chǎn)xios的二次封裝與proxy反向代理使用說明
這篇文章主要介紹了vue-cil之a(chǎn)xios的二次封裝與proxy反向代理使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04
一文掌握Pinia使用及數(shù)據(jù)持久化存儲超詳細教程
這篇文章主要介紹了Pinia安裝使用及數(shù)據(jù)持久化存儲的超詳細教程,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07
Vue3后臺管理系統(tǒng)之創(chuàng)建和配置項目
后臺管理系統(tǒng)是我們?nèi)粘i_發(fā)學(xué)習(xí)經(jīng)常遇到的一個項目,下面這篇文章主要給大家介紹了關(guān)于Vue3后臺管理系統(tǒng)之創(chuàng)建和配置項目的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-09-09
vue實現(xiàn)的多頁面項目如何優(yōu)化打包的步驟詳解
這篇文章主要介紹了vue實現(xiàn)的多頁面項目如何優(yōu)化打包的步驟詳解,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Element?Plus?Table實現(xiàn)表尾合計功能
本文介紹了使用ElementPlus在Vue項目中實現(xiàn)表格行匯總功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-07-07
vue3使用threejs實現(xiàn)3D卡片水平旋轉(zhuǎn)效果的示例代碼
這篇文章主要介紹了在vue3中使用threejs實現(xiàn)3D卡片水平旋轉(zhuǎn)效果,文中通過代碼示例講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-04-04

