• 上传图片,点击更换


    做这种效果:

    imgUrl判断显示那个样式


    ```
          <el-form-item label="上传图片" v-model="imgUrl" class="items" prop="imgUrls">
            <div v-show="!imgUrl">
              <el-upload
                action
                list-type="picture-card"
                :limit="1"
                drag
                :show-file-list="false"
                :on-change="on_change"
                accept=".jpg, .png"
                :before-upload="onBeforeUpload"
                :http-request="uploadFile"
                :on-exceed="handlePicExceed"
              >
                <i slot="default" class="el-icon-plus">
                  <ul>
                    <li>拖拽或点击上传文件</li>
                    <li>支持扩展名:png、jpg</li>
                  </ul>
                </i>
              </el-upload>
            </div>
            <div v-show="imgUrl" style=" 148px;height: 148px;position: relative;">
              <input
                type="file"
                ref="input"
                accept="image/png, image/jpeg, image/jpg"
                style="display:none"
                @change="Inputhange"
              />
              <img
                :src="imgUrl"
                alt
                width="148"
                height="148px"
                class="el-upload-list__item-thumbnail imgS"
              />
              <span class="shade" @click="changeClick">点击更改</span>
            </div>
          </el-form-item>
    ```
    

      点击input框更换图片

        // 点击更改图片
        changeClick() {
          this.$refs.input.click();
        },
        Inputhange(e) {
          console.log(e.target.files[0]);
          this.files = e.target.files[0];
          let form = new FormData();
          // 后端接受参数 ,可以接受多个参数
          form.append("file", this.files);
          this.$post(
            "",
            form,
            res => {
              if (res.code === 1) {
                this.$message.error(res.msg);
                return;
              }
              this.imgUrl = res.data;
              this.ruleForm.imgUrls = 2; // 验证图片
              console.log(res);
            },
            err => {
              this.$message.error(err.msg);
              throw err;
            }
          );
        },
    

      el-upload中的事件

        // 上传图片的change事件
        on_change(file) {
          let isJPG = file.raw.type === "image/jpeg";
          let isPNG = file.raw.type === "image/png";
          // console.log(isPNG);
          if (isJPG || isPNG) {
            console.log(file);
            return;
          }
          this.$message.error("上传图片只能是 JPG 格式或PNG格式");
        },

      

        handlePicExceed() {
          this.$message({
            message: "最多上传1张图片",
            type: "warning"
          });
        },
    

      

        // 上传前的钩子
        onBeforeUpload(file) {
          // console.log(file);
          const isIMAGE = file.type === "image/jpeg" || file.type === "image/png";
          // console.log(isIMAGE);
          if (!isIMAGE) {
            this.$message.error("上传文件只能是jpg,png格式!");
          }
          return isIMAGE;
        },
    

      

        // 自定义上传
        uploadFile(file) {
          console.log(file);
          this.files = file.file;
          let form = new FormData();
          form.append("file", this.files);
          this.$post(
            "",
            form,
            res => {
              if (res.code === 1) {
                this.$message.error(res.msg);
                return;
              }
              // this.imgUrl = res.data;
              this.ruleForm.imgUrls = 2; // 验证图片
              this.imgUrl = res.data;
              console.log(res);
            },
            err => {
              this.$message.error(err.msg);
              throw err;
            }
          );
        },
    

      

  • 相关阅读:
    javascript 调试代码
    简洁的js拖拽代码
    搭个小窝
    FastDFS随笔
    JDK6和JDK7中String的substring()方法及其差异
    杂笔
    JVM内存随笔
    java中的final和volatile详解
    关于java的Synchronized,你可能需要知道这些(下)
    关于java的Synchronized,你可能需要知道这些(上)
  • 原文地址:https://www.cnblogs.com/js-liqian/p/12034789.html
Copyright © 2020-2023  润新知