zoukankan      html  css  js  c++  java
  • el-upload上传图片方法

    一、

    自动上传

    就是在选择图片后立马上传

    <el-upload
                      action=""
                      :http-request="ImgUploadSectionFile"
                      list-type="picture-card"
                      :auto-upload="true"
                      ref="uploadLevelIcon"
                      :limit="1"
                    >
                      <i slot="default" class="el-icon-plus"></i>
                      <div slot="file" slot-scope="{ file }">
                        <img
                          class="el-upload-list__item-thumbnail"
                          :src="file.url"
                          alt=""
                        />
                        <span class="el-upload-list__item-actions">
                          <span
                            class="el-upload-list__item-preview"
                            @click="handlePictureCardPreview(file)"
                          >
                            <i class="el-icon-zoom-in"></i>
                          </span>
                          <span
                            v-if="!disabled"
                            class="el-upload-list__item-delete"
                            @click="handleDownload(file)"
                          >
                            <i class="el-icon-download"></i>
                          </span>
                          <span
                            v-if="!disabled"
                            class="el-upload-list__item-delete"
                            @click="RemoveLogo(file)"
                          >
                            <i class="el-icon-delete"></i>
                          </span>
                        </span>
                      </div>
                    </el-upload>
                    <el-dialog :visible.sync="dialogVisible">
                      <img width="100%" :src="dialogImageUrl" alt="" />
                    </el-dialog>
    // 图片上传方法
        async IconUpload(file) {
          const res = await IconUpload(file);
          console.log(res);
          this.formData.logo = res.data;
          console.log("this.formData.id:", this.formData.id);
        },
        ImgUploadSectionFile(param) {
          console.log(param);
          let formdata = new FormData(); //formdata格式
          formdata.append("file", param.file);
          // 修改的时候传入id
          if (this.type === "修改") {
            formdata.append("id", this.iconId);
          }
          this.IconUpload(formdata);
        },
    :http-request覆盖默认上传行为,自定义上传方法,
    :auto-upload="true" 自动上传。就会触发自定义的上传方法。

    二、手动上传

    就是在点击提交按钮的时候再触发上传

    <el-upload
                      action=""
                      :http-request="ImgUploadSectionFile"
                      list-type="picture-card"
                      :auto-upload="true"
                      ref="uploadLevelIcon"
                      :limit="1"
                    >
                      <i slot="default" class="el-icon-plus"></i>
                      <div slot="file" slot-scope="{ file }">
                        <img
                          class="el-upload-list__item-thumbnail"
                          :src="file.url"
                          alt=""
                        />
                        <span class="el-upload-list__item-actions">
                          <span
                            class="el-upload-list__item-preview"
                            @click="handlePictureCardPreview(file)"
                          >
                            <i class="el-icon-zoom-in"></i>
                          </span>
                          <span
                            v-if="!disabled"
                            class="el-upload-list__item-delete"
                            @click="handleDownload(file)"
                          >
                            <i class="el-icon-download"></i>
                          </span>
                          <span
                            v-if="!disabled"
                            class="el-upload-list__item-delete"
                            @click="RemoveLogo(file)"
                          >
                            <i class="el-icon-delete"></i>
                          </span>
                        </span>
                      </div>
                    </el-upload>
    :http-request覆盖默认上传行为,自定义上传方法,
    :auto-upload="false" 不自动上传。
    // 图片上传方法
        ImgUploadSectionFile(param) {
          this.submitForm.append("file", param.file);
        },
    
        // 新增
        async newIncreased() {
          if (!this.submitForm.get("file")) {
            this.$message.error("请上传水印图片");
            return false;
          }
          // this.submitForm = new FormData();
          this.submitForm.append("name", this.formData.name);
          const res = await newIncreased(this.submitForm);
          if (res === null) {
            this.isshow = false;
            this.getWaterMarkList();
          }
        },
    
    submitAdd(newadd) {
    this.$refs[newadd].validate((valid) => { if (valid) { this.$refs.uploadIconnew.submit(); // submit此方法会自动触发 图片上传方法 ImgUploadSectionFile // 新增 this.newIncreased(); } else { console.log("error submit!"); return false; } }); },

    点击提交按钮的时候通过    this.$refs.uploadIconnew.submit();  触发上传图片的方法。

  • 相关阅读:
    bootstrap-table 切换页码保留勾选的checkbox
    vsftp服务器同步文件
    MySQL5.7 主从复制配置
    VMware NAT模式下设置网络
    在Jsp中调用静态资源,路径配置问题,jsp获取路径的一些方法
    centos7.3安装配置vsftp
    Linux安装配置Nginx
    jsp登录页面,展示错误信息,刷新页面后错误依然存在解决方案
    linux中使用Jmeter压测总结
    常规测试方法
  • 原文地址:https://www.cnblogs.com/lyt0207/p/13890879.html
Copyright © 2011-2022 走看看