若依提供的组件和工具来实现图片上传功能例在前端页面中添加一个上传按钮和一个隐藏的 input 元素,并使用 element-ui 组件库提供的 el-upload 组件创建一个上传组件。

<template><el-uploadclass="upload-demo":action="uploadUrl":headers="uploadHeaders":file-list="fileList":auto-upload="false":on-change="handleFileChange":before-upload="beforeUpload"><el-button slot="trigger" size="small" type="primary">上传图片</el-button><div slot="tip" class="el-upload__tip">只能上传 jpg/png 文件,且不超过 2MB</div></el-upload><!-- 隐藏的 input 元素 --><inputtype="file"ref="fileInput"style="width: 0; height: 0; border: none; margin: 0; padding: 0;"@change="handleFileInputChange"/>
</template>

在这个示例中,我们为 el-upload 组件绑定了一些属性,包括上传地址、请求头、上传文件列表、自动上传等。我们还为上传按钮绑定了一个点击事件,用于触发隐藏的 input 元素的点击事件。当用户选择了要上传的图片文件时,隐藏的 input 元素的 change 事件将触发 handleFileInputChange() 函数。

2.在 Vue 组件中定义 uploadUrl、uploadHeaders 和 fileList 等属性,并编写 beforeUpload() 和 handleFileChange() 等方法,用于实现图片上传功能。

<script>
import { uploadFile } from "@/api/common";export default {data() {return {// 图片上传地址uploadUrl: "/common/upload",// 图片上传请求头uploadHeaders: { "Authorization": "Bearer " + getToken() },// 图片文件列表fileList: []};},methods: {// 文件上传前的校验beforeUpload(file) {const isJPG = file.type === "image/jpeg" || file.type === "image/png";const isLt2M = file.size / 1024 / 1024 < 2;if (!isJPG) {this.$message.error("上传的图片只能是 JPG/PNG 格式!");}if (!isLt2M) {this.$message.error("上传的图片大小不能超过 2MB!");}return isJPG && isLt2M;},// 选择文件后触发handleFileChange(file, fileList) {const formData = new FormData();formData.append("file", file.raw);uploadFile(formData).then(response => {this.$message.success("上传成功!");const url = response.data.url;const image = {name: file.name,url: url};this.fileList.push(image);}).catch(error => {this.$message.error("上传失败!");console.log(error);});},// 触发隐藏的 input 元素的点击事件showFileInput() {this.$refs.fileInput.click();}}
};
</script>

使用了若依提供的 uploadFile() 方法,将文件上传到服务器,并将上传后的返回值中的图片 URL 添加到 fileList 中。

beforeUpload() 方法,用于校验上传的文件是否符合要求。

上传文件不符合要求,提示用户错误信息。

showFileInput() 方法,用于触发隐藏的 input 元素的点击事件。

图片上传_RuoYi相关推荐

  1. html显示数据库图片django,django将图片上传数据库后在前端显式的方法

    1.使用ImageField先安装pillow模块 pip install pillow 2.在app的models中设置 class Image(models.Model): pic_name=mo ...

  2. yii2框架原生的结合框架使用的图片上传

    首先我们要从model层开始写起,主要是为了创建验证规则,还有图片上传的路径以及图片的命名规则(UploadForm.php) 接下来我们要在控制器层写好业务逻辑,就是什么情况下直接在调用model层 ...

  3. java flex 图片上传_flex上传图片到java服务器

    今天弄flex上传图片到java,现在弄成功,中间也经常一点小波折,现记录一下.重点在java侧的实现. flex侧:文件上载到在url参数中传递的URL.该URL必须是配置为接受上载的服务器脚本.F ...

  4. js表单提交,支持图片上传,包含后端php代码

    微信小程序开发交流qq群   581478349    承接微信小程序开发.扫码加微信. <html><head><meta http-equiv="Conte ...

  5. ckeditor finder php,CKEDITOR CKFINDER的图片上传配置(C#/asp.net/php)

    CKEDITOR+CKFINDER的图片上传配置(C#/asp教程.net/php教程) php keditor的代码全部重写,但里面没有了上传功能,只是一个纯粹的文件在线编辑器,如果需要上传图片,还 ...

  6. 图片上传(加水印、缩略图、远程保存)的简单例子

    图片上传(加水印.缩略图.远程保存)的简单例子(应用于51aspx.com) 该源码下载地址:http://51aspx.com/CV/ImageUpload 今天看到xiongeee发的文章使用使用 ...

  7. 使用summernote实现复制图片即可实现图片上传

    个人资源与分享网站:http://xiaocaoshare.com/ 1.页面结构 <script src="../statics/js/plugins/summernote/summ ...

  8. js实现图片上传本地预览

    演示地址:https://xibushijie.github.io/static/uploadImg.html <!DOCTYPE> <html><head>< ...

  9. SpringBoot 2.0 多图片上传加回显

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 本文来源:http://r6f.cn/crEY 这两天公司 ...

最新文章

  1. Mapbox HTML可视化点,线,多线,面带底图
  2. matlab gcc4.7,关于gcc-4.7.2 cannot compute suffix of object fil...
  3. mysql相关操作(一)
  4. Load data local infile 实验报告
  5. 1.10 卷积神经网络示例-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  6. oppo售后解锁工具_Realme X50/X50 Pro 5G版解锁BL获取完美ROOT权限全套详细刷机
  7. The Property System
  8. 有效前沿—让你的投资收益最大化
  9. [转]根据时间(NSDate)获取具体的信息:月份、星期、天等
  10. 公布一个简单的日志记录方法 【转】-要研究
  11. python+webdriver(三)
  12. 低代码平台会成为企业数字化基础设施么?
  13. 计算机大学英语融合的课题有什么,【计算机信息论文】计算机信息管理学科交叉融合研究(共3910字)...
  14. BAT命令手动_自动启动和禁用服务
  15. 众说纷“云”之云安全企业用户追踪寻访
  16. web player php,unity web player是什么软件
  17. vscode调试用的launch.json
  18. 【专业课程】网络协议分析与安全
  19. 第一章-问题求解策略-LA4238-Area of Polycubes
  20. 【OpenCV图像处理入门学习教程六】基于Python的网络爬虫与OpenCV扩展库中的人脸识别算法比较

热门文章

  1. czl蒻蒟的OI之路
  2. MySQL死锁解决之道
  3. 一个图片测试的小网站:dummyimage.com
  4. 网络协议实验四 ARP 协议分析实验
  5. vivo Y85的usb调试模式在哪里,打开vivo Y85usb调试模式的方法
  6. MindManager思维导图软件中如何下载使用行业分析模板教程分享
  7. 【uni-app】app与H5进行双向通讯
  8. 名帖52 王献之 小楷《洛神赋》
  9. [DEV] 陷阱技术探秘 ──动态汉化Windows技术的分析
  10. 渗透测试的8个步骤—转载