element-ui上傳文件 + 攜帶參數案例
我做的案例是上傳一個EXCEL文件,順帶還要攜帶一些參數上去!我這兒測試的是自動上傳,手動上傳后面找一個時間來加上吧!
上傳文件的代碼
<el-dialog title="附件管理" :visible.sync="dialogVisible" width="30%">
<!-- 1.將<el-upload>代碼添加到<el-dialog>代碼塊中 -->
<el-upload
ref="upload"
class="upload-demo"
:action="uploadFileURL"
:data="loadFileParams"
:before-upload="uploadBefore"
:on-success="uploadSuccess"
:headers="headers"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">將文件拖到此處,或<em>點擊上傳</em></div>
<div class="el-upload__tip" slot="tip">
只能上傳jpg/png文件,且不超過500kb
</div>
</el-upload>
<span slot="footer" class="dialog-footer">
<el-button @click="cancelUpload">取 消</el-button>
<el-button type="primary" @click="ConfirmUpload"
>確 定</el-button
>
</span>
</el-dialog>
邏輯代碼
data() {
return {
uploadFileURL:
'http://192.168.1.105:8090/project/details/importProjectFile', // 上傳文件的地址!
loadFileParams: { // 上傳文件的參數!
projectNumber: '',
projectName: '',
projectHead: '',
projectType: '',
fileNames: ''
},
headers: {
Authorization: window.sessionStorage.getItem("myToken") // 我的反正是要加上這個屬性才能成功上傳!!否則會報401的錯誤!【認證失敗,無法訪問系統資源"】沒辦法,后台要求的!
}
}
},
method: {
uploadBefore(file) { // 這個函數的目的就是在上傳文件之前獲取到文件的名字然后保存到攜帶的參數變量里面!
this.loadFileParams.fileNames = file.name
}
uploadSuccess(file) { // 這個函數就是文件上傳成功時會調用的函數,打印的是成功響應的數據!
console.log(file)
},
}
失敗響應的數據:
成功響應的數據: