美文网首页
vue 使用element-ui的el-upload httpr

vue 使用element-ui的el-upload httpr

作者: 我写的代码绝对没有问题 | 来源:发表于2021-04-30 11:10 被阅读0次

    之前做上传,参考element UI的官方示例,使用action属性,action是上传的地址。
    这次做的项目,换了一个后端对接,说,上传不需要调用接口,我懵了,我寻思示例不都是使用了action嘛,经过一番了解,upload组件还提供了http-request覆盖默认上传行为。

    elementUI 的upload组件的http-request方法的使用


    image.png

    http-request有个默认的参数:content
    content是一个object对象:里面包含一些upload组件的回调方法,可以使用upload组件原生的方法。


    image.png

    下面记录下具体使用方法,很简单
    1、

    <el-upload
        :action="action"
        :file-list="modeList"
        :http-request="modeUpload"
    >
        <el-button size="small" type="primary">上传</el-button>
    </el-upload>
    <el-button @click="upload">点击上传文件</el-button>
    
    data() {
        return {
            action: 'https://jsonplaceholder.typicode.com/posts/',
            mode: {}
        }
    }
    

    :action是必不可少但是却没什么作用的

    :http-request可以覆盖默认的上传方法

    2、我配置的:action的值(就是官方文档示例的值)

    action: 'https://jsonplaceholder.typicode.com/posts/'
    

    3、:http-request函数内容,将上传成功的文件保存到mode里面,mode是自己在data里面定义的变量,初始值是mode:{}

    modeUpload: function(item) {
          // console.log(item.file);
          this.mode = item.file
    }
    

    4、上传按钮的点击事件

    upload: function() {
          let fd = new FormData()
          fd.append('templateFile', this.mode)
          axios.post('/api/reportRule', fd, {
             headers: {
              'Content-Type': 'multipart/form-data'
            }
          }).then(response => {
            console.log(response.data);
          })
        },
    

    5、上传成功,后台可以读取到数据


    image.png

    相关文章

      网友评论

          本文标题:vue 使用element-ui的el-upload httpr

          本文链接:https://www.haomeiwen.com/subject/zvknrltx.html