美文网首页
Element-UI 文件上传 upload

Element-UI 文件上传 upload

作者: 青争小台 | 来源:发表于2019-12-09 18:05 被阅读0次
//html
  <el-form-item label="上传文件" :label-width="formLabelWidth" prop="files">
    <el-upload
      class="upload-demo"
      ref="upload"
      :action="`${baseUrl}/agent/upFile`"
      :headers="headers" 
      :on-success="uploadFile"
    >
      <el-button size="small">
        <i class="el-icon-upload el-icon--left"></i>点击上传
      </el-button>
    </el-upload>
  </el-form-item>
  <el-form-item>
     <el-button type="primary" @click="add('ruleForm')" style="width:100%">提交</el-button>
  </el-form-item>


//js
<script>
export default {
  name: "Blank",
  data() {
    return {
      form: {
        title: null,
        files: [],
        headers: { Authorization: Auth.getToken() }, //token
      },
      baseUrl: null
    };
  },
  // 上传图片成功的钩子
    uploadFile(res) {
      this.form.files.push(res.data)
    },
    // 添加
    add(formName) {
      this.$refs[formName].validate(valid => {
        if (valid) {
          let params = {
            files: this.form.files,
            title: this.form.title
          }
          uploadContract(params).then(res => {
            this.dialogFormVisible = false
            this.form = {
              title: null,
              date: []
            }
            // 清空已上传的文件列表
            this.$refs.upload.clearFiles()
          })
        } else {
          return false
        }
      })
    },
  mounted() {
    this.baseUrl = process.env.VUE_APP_BASE_API
  }
};
</script>

vue element upload图片 转换成base64

beforeUpload (file) {
  var _this = this;
  var reader = new FileReader();
  reader.readAsDataURL(file);
  reader.onload = function(e) {
    // 图片base64化
    var newUrl = this.result;    //图片路径
    _this.imgUrl = newUrl;
  };
},
 
//或者 不使用element-ui中 upload的自动上传的话  可以在on-change事件里面 转换成base64的路径
 
handleChange (file, fileList, item) {
    this.getBase64(file.raw).then(res => {
        console.log(res);
    });
},
getBase64(file) {
    return new Promise(function(resolve, reject) {
        let reader = new FileReader();
        let imgResult = "";
        reader.readAsDataURL(file);
        reader.onload = function() {
            imgResult = reader.result;
        };
        reader.onerror = function(error) {
            reject(error);
        };
        reader.onloadend = function() {
            resolve(imgResult);
        };
    });
},
 
handleChange中  item是我的自定义参数

相关文章

网友评论

      本文标题:Element-UI 文件上传 upload

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