element-ui upload 上传组件附带额外参数进行上传(表单形式,多个参数)

之前一直使用upload组件单个上传文件,最近遇到需要上传表单字段,表单中有多个参数

下图是接口要求:

element-ui upload 上传组件附带额外参数进行上传(表单形式,多个参数)_第1张图片

 官网上传组件中提供了响应的功能实现,但是demo中未演示,不注意看文档参数的话,可能会不知道这个:

element-ui upload 上传组件附带额外参数进行上传(表单形式,多个参数)_第2张图片

接受一个object来作为参数传递,

我的组件这么写:


        
        
将文件拖到此处,或点击上传
只能上传txt文件,格式范例:文件名为时间如:2020-03-02.txt,内容:23:00 晚间新闻

data中:

data () {
    return {
      insertProgram: {
        liveId: 0
      }
}}

这样就将file 以及参数作为表单传送

上传作为mixins引入:

import {requestUploadImg} from '@/api/api'
// 混入对象上传组件。直接混入,需要覆盖上传成功后的回调
/* 
            
            
将文件拖到此处,或点击上传
*/ // 混入组件需要监听 uploadFileList const fileUpload = { data () { return { requestUploadFile: requestUploadImg, fileList: [], uploadFileList: [] } }, methods: { beforeFileUpload (file) { const isTXT = file.type.indexOf('text') > -1 if (!isTXT) { this.$message.error('请选择txt文件') } return isTXT }, handleFileOneExceed (files, fileList) { this.$message.warning('禁止上传多个文件') }, handleFileRemove (file, fileList) { this.uploadFileList.splice(this.uploadFileList.findIndex(item => item === file.response.body), 1) }, handleFileSuccess (res, file) { this.uploadFileList.push(res.body) this.$notify.success({ title: '成功', message: '文件上传成功' }) } } } export default fileUpload

 这个组件全部代码为:(可以只看关心部分的代码):






 

 

你可能感兴趣的:(javascript,Vue)