vue element ui,图片+文字表单封装一起请求后端

<template>
  <div style="margin-top: 300px">
    <el-form>
      <el-upload ref="uploadscan" action="http://baidu.com" :multiple="false" :pic-width="250" :pic-height="90"
                 :auto-upload="false" :limit="1" :http-request="requestFile">
        <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
      </el-upload>
      <el-input v-model="filedata.title" label="请输入文件名"></el-input>
    </el-form>
    <el-button @click="submit" color="primary">提交</el-button>
  </div>
</template>

<script>
  import {post} from "../api/http"
  import axios from 'axios';
  export default {
    name: "test",
    data() {
      return {
        filedata: {},
      }
    },
    methods: {
      submit() {
        this.$refs.uploadscan.submit();
      },
      requestFile(param) {
        // const {...params} = this.filedata;
        // this.$qs.stringify(params)

        let uploadUrl = "/item/filedata/upload";
        let form = new FormData()    // FormData 对象
        form.append('videoFile', param.file)    // 文件对象
        form.append('title', this.filedata.title)  //表单其他参数。。
        let config = {
          headers: {
            'Content-Type': 'multipart/form-data'
          }
        };
        axios.post(uploadUrl, form, config).then(function (result) {
          console.log(result);
        })
      }
    },
  }
</script>

<style scoped>

</style>

参考:
https://blog.csdn.net/qq_41862017/article/details/83030318
https://www.cnblogs.com/wenqiangit/p/10538871.html
https://juejin.cn/post/6844904082361024526

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值