elementUI如何实现上传文件功能

img

使用 upload组件 。 官网有例子 ,只需要把接口换成自己的


ElementUI的upload组件手动上传,并携带参数和excel文件流提交给后台_提莫拌一团蘑菇-CSDN博客_element upload手动上传 使用场景:选取好excel文件后,再把导入的excel文件和参数同时提交给服务器,需要用到文件的手动上传,但是直接拷贝官网的demo会出现问题,下面会具体说明要注意的问题点。????直接上代码:index.vue<el-form ref="importList" :rules="ImportRules" :model="importList" label-positio... https://blog.csdn.net/dujing_15620553271/article/details/102842789


<el-upload
  class="upload-demo"
  action="https://jsonplaceholder.typicode.com/posts/" // 是你的上传地址
  :headers="{Authxxxxx:token值 看下你怎么获取token}"
  :data="{额外携带的参数}"
  :name='二级制流文件名'>
  <el-button size="small" type="primary">点击上传</el-button>
</el-upload>
<script>
  export default {
    data() {
      return {
          };
    },
    methods: {

    }
  }
</script>

文档:https://element.eleme.cn/#/zh-CN/component/upload


<el-upload
  class="upload-demo"
  action="https://jsonplaceholder.typicode.com/posts/"
  :on-preview="handlePreview"
  :on-remove="handleRemove"
  :before-remove="beforeRemove"
  multiple
  :limit="3"
  :on-exceed="handleExceed"
  :file-list="fileList">
  <el-button size="small" type="primary">点击上传</el-button>
  <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
<script>
  export default {
    data() {
      return {
        fileList: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}]
      };
    },
    methods: {
      handleRemove(file, fileList) {
        console.log(file, fileList);
      },
      handlePreview(file) {
        console.log(file);
      },
      handleExceed(files, fileList) {
        this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
      },
      beforeRemove(file, fileList) {
        return this.$confirm(`确定移除 ${ file.name }?`);
      }
    }
  }
</script>