vue[el-table]表格内附件上传、elementui 的http-request 上传附件,并且还可以传参数
vue[el-table]表格内附件上传、elementui 的http-request 上传附件需求是表格中嵌套上传附件解决:通过http-request<el-uploadclass=“upload-demo”action="":headers=“importHeaders”:http-request="(file)=>{return imggreySuccess(file ,sc
·
解决:通过http-request
<el-upload
class="upload-demo"
action=""
:headers="importHeaders"
:http-request="(file)=>{return imggreySuccess(file ,scope.row)}"
multiple
:limit="3"
:file-list="fileList"
>
<el-button size="small">
点击上传
</el-button>
<div slot="tip" class="el-upload__tip">
可上传多个附件,且每个附件不超过2M
</div>
methods: {
imggreySuccess(params, row) {
const isLt2M = params.file.size / 1024 / 1024 < 2
// 通过 FormData 对象上传文件
var formData = new FormData()
formData.append('file', params.file)
// formData.append('FileName', params.file.name)
if (!isLt2M) {
this.$message.error('请上传2M以下的文件')
return false
}
// 设置header
this.importHeaders['X-AUTH-TOKEN'] = Cookies.get('X-AUTH-TOKEN') // token
this.upLoadData.fileType = `winBidNoticeAttachment_${row.typecode}`// 文件类型
axios.post(`${this.upLoadFileUrl}${createURL(this.upLoadData)}`, formData, { headers: { 'X-AUTH-TOKEN': Cookies.get('X-AUTH-TOKEN') }})
.then(function(res) {
})
.catch(function(err) {
console.error(err)
})
// 校验是否每条数据至少有一条数据 数据整理
// const fileObj = Object.assign(file)
// this.fileLists = this.performanceData
// this.fileLists.map(item => {
// if (item.typecode === row.typecode) {
// this.arrBuff.push(fileObj)
// item.arr = this.arrBuff
// return
// }
// })
}
}
就解决上传传参的问题。
更多推荐
已为社区贡献2条内容
所有评论(0)