当前位置: 首页 > 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(); 
};

 

 

http://www.xdnf.cn/news/488323.html

相关文章:

  • IIS+php环境下执行exec函数后,服务器500错误宕机
  • 界面控件DevExpress WinForms中文教程:Banded Grid View - API
  • 解决LeetCode 47. 全排列 II 问题的正确姿势:深入分析剪枝与状态跟踪
  • 联合查询
  • ⭐️⭐️⭐️【模拟题及答案】:大模型Clouder认证:基于百炼平台构建智能体应用 ⭐️⭐️⭐️
  • CVPR2025 | 首个多光谱无人机单目标跟踪大规模数据集与统一框架, 数据可直接下载
  • 前端面经 8 JS中的this 手写call apply bind方法
  • 将嵌入映射到 Elasticsearch 字段类型:semantic_text、dense_vector、sparse_vector
  • 火山引擎AI大模型
  • vue-router 中传递参数中的问题
  • 【基础】Windows开发设置入门3:在 Windows 11 上设置开发驱动器,提升性能速度
  • 适合使用分区表的典型业务场景
  • 用Python绘制动态樱花树(附完整源码解析)
  • React组件(一):生命周期
  • Linux下软件安装
  • C++ asio网络编程(7)增加发送队列实现全双工通信
  • Maven Deploy的依赖与引用方的依赖不同
  • 信奥赛-刷题笔记-队列篇-T4-P7912小熊的果篮
  • MySQL 数据库优化:InnoDB 存储引擎深度解析:架构、调优与最佳实践
  • 记录一个为打印高清而做投喂图像增强的例子
  • docker compose 启动指定的 service
  • MongoTemplate 基础使用帮助手册
  • 12条热门照片提示
  • XS9922C芯片:多能一体的视频处理强者,可p2p替代TP9930和TP9932,开启智能视觉新征程
  • Flask框架深度解析:蓝图、上下文机制与Jinja2模板引擎实战
  • ssh 配置了.ssh/authorized_keys 依旧需要密码的问题
  • 如何同时管理不同平台的多个账号?
  • 【第七节】ESP32-S3 霍尔传感器应用实战:磁场检测与蜂鸣器控制
  • 小学数学题批量生成及检查工具
  • PT2062单触控单输出LED调光IC