zoukankan      html  css  js  c++  java
  • element 文件流 上传

    <template>
      <!-- 
          action        必选参数,上传的地址
          accept        接受上传的文件类型
          multiple        是否支持多选文件
          limit            最大允许上传个数
          http-request    覆盖默认的上传行为,可以自定义上传的实现
          file-list        上传的文件列表
       -->
      <el-upload
        class="upload-demo"
        :action="this.uploadUrl"
        accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
        multiple
        :limit="1"
        :http-request="uploadFile"
        :file-list="fileList"
      >
        <samp class="component-export-cell">导入</samp>
      </el-upload>
    </template>
    
    <script>
    import axios from "axios";
    
    export default {
      props: ["state"],
      data() {
        return {
          uploadUrl: this.state.uploadtApi, // url 上传接口
          fileList: [], // 上传文件的数据列表
        };
      },
      methods: {
        // 覆盖 el-upload 组件默认的 上传
        uploadFile(item) {
          // 创建 FormData 对象
          let param = new FormData();
    
          // 通过 append() 方法来追加数据
          param.append("file", item.file);
    
          // 通过 get 方法对值进行读取
          console.log(param.get("file"));
    
          // 请求接口
          axios({
            method: "post",
            url: this.uploadUrl,
            headers: {
              "Content-Type": "multipart/form-data", // 请求头 类型
            },
            data: param,
          })
            .then((res) => {
              if (res.data && res.data.code === "0000") {
                console.log("导入成功");
              }
            })
            .catch((error) => {
              console.log(error);
            });
        },
      },
    };
    </script>
    <style lang="less" scoped>
    .component-export-cell {
       60px;
      height: 32px;
      display: block;
      line-height: 32px;
      font-size: 14px;
      color: #ffffff;
      text-align: center;
      font-weight: bold;
      background: linear-gradient(to right, #2644d7 0%, #0a0b93 100%);
      border-radius: 18px;
      margin: 10px 20px 0 0;
    
      &:hover {
        text-decoration: none;
      }
    }
    </style>
  • 相关阅读:
    2020-03-1811:29:37springboot与任务
    2020-03-17 20:18:50springboot整合rabbitmq
    2020.03.17 springboot缓存相关
    前端JS面试
    npm 常用指令
    ES8新特性
    ES7新特性
    ES6新特性
    SpringBoot
    SpringBoot
  • 原文地址:https://www.cnblogs.com/zhuyujie/p/14803425.html
Copyright © 2011-2022 走看看