当前位置: 首页 > news >正文

element plus el-upload 和el-image 配合图片上传和显示

我在用 element plus的el-upload组件上传1个图片,el-image组件显示图片的过程中,碰到了图片上传第二次时,无法执行上传替换前一个文件,然后又碰到无法执行 http-request 的问题。具体解决代码如下。

2个组件的定义代码如下:

<el-col :xs="24" :sm="12" :md="12" :lg="24" :xl="24" class="mb20"><el-form-item label="参考图" prop="image"><el-upload ref="myupload":show-file-list="true" :http-request="uploadAttachmentHandle" :limit="1" :on-exceed="handleExceed"	:auto-upload="true"						 ><el-button type="primary">上传</el-button></el-upload><el-imagev-model="imageContainer.imgeurl" style="width: 100px; height: 100px":src="imageContainer.imgeurl":zoom-rate="1.2":max-scale="7":min-scale="0.2":preview-src-list="imageContainer.imgeurl"show-progress:initial-index="4"fit="cover"/><!-- :preview-src-list="imgeurl" --></el-form-item></el-col>

业务函数部分如下:

import { UploadRequestOptions,genFileId } from "element-plus";  
import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus';//文件上传替换前一个文件
//:limit="1" 属性和 :on-exceed="handleExceed" 配合使用 ,每次替换旧图。 注意limit是1
const myupload = ref<UploadInstance>();  //myupload 必须和 el-upload 组件的ref属性名同名
const handleExceed: UploadProps['onExceed'] = (files) => {//下面这两行不能在这里执行,执行了就会影响 :http-request="uploadAttachmentHandle" 的接口请 //求执行。要放到下面的函数中最后执行// if(myupload.value!=undefined) // 	myupload.value!.clearFiles(); const file = files[0] as UploadRawFile;file.uid = genFileId();myupload.value!.handleStart(file); }const uploadAttachmentHandle = async (options: UploadRequestOptions) => {const res = await cbbjMaterialApi.uploadAttachment(options);state.ruleForm.image = res.data.result?.id;imageContainer.imgeurl=res.data.result?.url;if(myupload.value!=undefined) myupload.value!.clearFiles(); 
};

 

 

相关文章:

  • 大模型的实践应用43-基于Qwen3(32B)+LangChain框架+MCP+RAG+传统算法的旅游行程规划系统
  • 【设计模式】- 行为型模式1
  • GpuGeek 网络加速:破解 AI 开发中的 “最后一公里” 瓶颈
  • 【localstorage、sessionStorage和cookie】
  • AAAI2024 | 基于特征多样性对抗扰动攻击 Transformer 模型
  • 共有四个站进行码分多址CDMA通信。四个站的码片序列为......
  • XML简要介绍
  • 「Mac畅玩AIGC与多模态40」开发篇35 - 用 Python 开发服务对接 SearxNG 与本地知识库
  • Qt—用SQLite实现简单的注册登录界面
  • 【解决分辨数字】2021-12-16
  • oracle linux 95 升级openssh 10 和openssl 3.5 过程记录
  • 基于matlab的D2D 功率控制仿真
  • 2025云智算技术白皮书
  • Go语言交替打印问题及多种实现方法
  • go-中间件的使用
  • 初识——QT
  • 第八节第三部分:认识枚举、枚举的作用和应用场景
  • React学习———CSS Modules(样式模块化)
  • CSS:三大特性
  • 黑马点评面试前复习
  • 爬坡难下坡险,居民出行难题如何解?
  • 浙江省台州市政协原副主席林虹被“双开”
  • 商务部:今年前3月自贸试验区进出口总额达2万亿元
  • 博柏利上财年营收下降17%,计划裁员1700人助推股价涨超18%
  • 李家超:明日起香港特区护照持有人可免签入境阿联酋
  • 中国巴西关于乌克兰危机的联合声明