vue使用 el-upload 上传文件附加参数

vue使用 el-upload 上传文件附加参数

这个需求是 一个上传文件的按钮,点击之后选择文件,可以多选,选完之后不上传文件,需要对文件进行配置,也就是添加额外的参数,添加完成之后,点击上传按钮,把文件以及响应文件的参数上传到服务器上去,然后是一个一个提交。

首先是HTML代码:

<el-upload class="upload-demo" ref="upload" action="https://jsonplaceholder.typicode.com/posts/"
        :file-list="fileList" :auto-upload="false" :headers="{token: $cookie.get('token')}" :on-change="handleChange"
        :multiple='true' :show-file-list='false' :data='uploadData'>
  <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
  <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
  <div slot="tip" class="el-upload__tip">只能上传xlsx模板文件,且不超过500kb</div>
</el-upload>

JS代码:

submitUpload() {
   // this.$refs.upload.submit(); // 原始提交事件
   for (let i = 0; i < this.fileList.length; i++) {
     let fd = new FormData()
     fd.append('name', '文件名字')
     fd.append('type', '类型一')
     fd.append('file', this.fileList[i].raw)
     this.upDataFile(fd);
   }
},

// 上传文件
upDataFile(fileData) {
  this.$http({
    url: `/mouldApi/mould/importOne`,
    method: 'post',
    data: fileData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  }).then(({ data }) => {
    if (data.message) {
      this.$message({
      message: data.message,
      type: 'success'
     });
  }
 })
},
handleChange(files, fileList) {},

在这里插入图片描述

完成,因为有些地方不好截图,就这个样子吧。

引用提供了关于Vue3中使用el-upload组件的一些代码示例,包括获取七牛token、上传图片到七牛、获取返回图片路径以及设置el-upload的属性等。根据引用中的代码示例,你可以按照这个思路进行操作。 首先,从后台获取七牛的token,可以使用相关的接口或方法。然后,设置el-upload组件的属性,包括file-list、action、before-upload和data等。其中,file-list用于设置上传文件列表,action是上传文件的地址,before-upload用于上传之前的校验,data是上传文件附加的数据。 在Vue3中,你可以使用如下代码实现el-upload组件的相关功能: ``` <template> <el-row> <el-col :span="12"> <el-form-item label="图片:"> <el-upload class="avatar-uploader" :on-change="getFile" :show-file-list="false" :action="domain" :auto-upload="false" :data="form"> <img v-if="imageUrl" :src="imageUrl" class="avatar" /> <i v-else class="el-icon-plus avatar-uploader-icon"></i> </el-upload> </el-form-item> </el-col> </el-row> </template> <script> export default { data() { return { fileList2: [], // 上传文件列表 domain: '', // 上传文件的地址 form: {} // 上传文件附加的数据 }; }, methods: { getFile(file) { // 上传文件的方法 // 处理上传成功后的回显路径 }, beforeAvatarUpload(file) { // 上传文件之前的校验 } }, mounted() { // 获取七牛token的方法 // 设置this.domain为上传文件的地址 } }; </script> ``` 以上代码是一个基本的el-upload组件的使用示例,你可以根据自己的需求进行修改和拓展。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值