element-ui的Upload上传中action发送请求的问题

本文介绍如何使用Vue框架实现资源上传功能,包括设置上传URL、处理token失效问题、阻止自动上传及手动提交等操作。

需求:(post请求)
在这里插入图片描述
问题:
1、action必填项
2、token失效
3、请求两次

解决如下:

<template>
  <div>
    <el-form  label-width="80px">
      <el-form-item label="资源上传:">
        <el-upload
          class="upload-demo"
          ref="upload"
          :action="uploadUrl()"//获取url
          :headers="{Token: token}" //传递token的方式
          :on-preview="handlePreview"
          :on-remove="handleRemove"
          :data="{description:ruleForm.description,type:ruleForm.type}" //data传递其他参数,对象中的值是key:value模式
          :auto-upload="false"//阻止自动上传图片
          >
          <el-button size="small" type="primary">点击上传</el-button>
        </el-upload>
        </el-form-item>
        <el-form-item>
	        <el-button type="primary">取消</el-button>
	        <el-button @click="submitUpload">确认</el-button>//手动提交
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
import store from '@/store'
export default {
  data() {
      return {
        token: store.getters.token //获取token
      }
    },
    methods:{
    //action的url
      uploadUrl(){
        return `${process.env.VUE_APP_BASE_API}/resource/add`//需要区分环境所以用process.env.VUE_APP_BASE_API获取基本域名/ip
      },

      //上传提交
      submitUpload() {
        this.$refs.upload.submit();
      },
      handlePreview(file) {
        console.log('=====',file);
      },
      handleRemove(file) {
        console.log(file);
      },
    }
}
</script>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值