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();  触发上传图片的方法。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM