vue+elementui el-upload上传文件携带参数

//template里面写
<el-upload
                  ref="upload"
                  style="display:inline;margin-left:10px;"
                  action="url"
                  :auto-upload="false"
                  :multiple="false"
                  :show-file-list="false"
                  :before-upload="beforeUpload"
                  :on-change="changeFile"
                  accept=".xlsx,.xls"
                  :file-list="fileList">
</el-upload>
//某个js文件,fetch要引入,公共的ajax
export function parsingExcelAddData (data, setId) {
  return fetch({
    url: '',
    method: 'post',  // 方式一定是post
    headers: {
      'Content-Type': 'multipart/form-data',
      'setId': setId      //放到formData里后端拿不到,所以放到请求头里了
    },
    data: data    // 参数需要是单一的formData形式
  })
}
//vue文件的js里面methods里写如下方法
beforeUpload(file) {
      let filename = file.name
      let arr = filename.split('.')
      if (arr[1] !== 'xls' && arr[1] !== 'xlsx') {
        this.$message.error('上传文件只能是 excel/xls 格式!')
        return false
      }
      return arr
},
changeFile(file,fileList) {
      let fd = new FormData();
      fd.append('file',file.raw);//传文件
      let self = this
      parsingExcelAddData(fd,this.dataObj.setId).then(function(res){
        if (res.data.success) {
          self.$message({
            type: 'success',
            message: '上传成功'
          })
          self.currentNodeData(self.dataObj.setId)  //此方法是重新刷数据,可以自己写
        } else {
          self.$message({
            type: 'warning',
            message: res.data.msg
          })
          return false
        }
      })
}

 

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值