1、用vue+Element完成一个图片上传、点图预览、加删除功能,如图:

2.首先我们再组件中引入这一段代码,每个属性的使用也都放在这里了:

<el-uploadclass="upload-demo"action=""//引号里面填要上传的图片地址,用接口的话是公共的接口地址拼接一个图片的接口:on-preview="handlePreview"//图片已经上传完成时点击触发(钩子函数):on-remove="handleRemove"//点击右上角X号触发的钩子函数:on-success="handleSuccess"//上传成功的一个钩子函数:file-list="fileList"//上传的文件列表list-type="picture"//上传的文件类型,有三个参数,分别是text/picture/picture-card,分别是文本类型、图片类型、卡片类型。个人推荐选第二个较好:headers="headerObj"//图片上传的时候需要请求头部,我们可以定义一个变量,设置获取token信息,如下代码:
><el-button size="small" type="primary">点击上传</el-button><div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>//存放token的变量headerObj: {Authorization: window.localStorage.getItem("token"),},

3.接下来就是它的on-preview属性,我们可以用它来实现图片预览

先要设一个图片预览的弹框:

  <el-dialogtitle="图片预览"//上方的标题:visible.sync="previewDialogVisible"//控制显示隐藏的变量width="50%"//弹框的宽度占比>//img标签中的src属性接受的是点击预览时传递的图片地址<img :src="picPreviewPath" alt="" class="previewImg" /></el-dialog>

再进行逻辑操作

  // 处理图片预览handlePreview(file) {//会得到一个参数,这是返回的图片的一些信息,主要的是图片的urlthis.picPreviewPath = file.response.data.url;//把url参数赋值给这个变量this.previewDialogVisible = true;//再让弹框显示},

3.然后来实现点击删除图片,这时候用到了on-remove这个属性

 // 处理移除图片的操作handleRemove(file) {// 1.获取将要删除图片的临时路径const filePath = file.response.data.tmp_path;// 2.从pics数组中,找到图片对应的索引值const i = this.addForm.pics.findIndex((x) => x.pic === filePath);// 3.调用splice方法,移除图片信息this.addForm.pics.splice(i, 1);},

4.前面的功能都实现了的话,到这时候你已经成功了一半了,若项目需要提交添加的图片,则用到了它的on-success属性。

 // 监听图片上传成功事件handleSuccess(response) {// 1.拼接得到一个图片信息对象 临时路径const picInfo = { pic: response.data.tmp_path };// 2.将图片信息对象,push到pics数组中this.addForm.pics.push(picInfo);},

5.文章小提示:

1.别忘了给需要设置成动态属性的属性加上v-bind

2.在data中注册需要绑定的变量

就此完成,文章 条理清晰,言简意赅,造福大家,谢谢支持。

Vue+UpLoad实现上传、点图预览、删除图片相关推荐

  1. 微信小程序 删除服务器图片,微信小程序实现图片上传放大预览删除代码

    本文实例为大家分享了微信小程序图片上传放大预览的具体代码,供大家参考,具体内容如下 image.js代码: = 9) { this.setData({ lenMore: 1 }); setTimeou ...

  2. 图片上传,预览以及图片删除

    背景 前两天在做一个PC网站的意见反馈,其中涉及到了图片上传功能,要求可以上传多张图片,并且支持图片上传预览及图片删除, 图片上传这一块以前没怎么搞过,而且一般也很少会碰到这样的需求,所以在做这个功能 ...

  3. Vue中通过el-upload组件实现上传前预览本地图片

    1.实现效果如下图所示 用户选择本地待上传的图片,选择成功后,上传组件隐藏,呈现本地预览组件,单击图片并实现图片的放大呈现 2.template(相当于html)部分的代码如下 代码实现逻辑: 在el ...

  4. JQ input 文件上传并预览 选择图片后,在页面上预览图片,页面渲染

    有时候,我们更新界面信息时会遇到,选择图片后,并不能预览图片,必须提交数据库后才能在页面上显示出来,这样我们该怎样办呢? 起始jq为我们提供了两个方法change()和URL.createObject ...

  5. 微信小程序 多图片上传 支持预览 删除 设置数量上限

    github地址: https://github.com/Volcano-Yang/miniprogram-picture-upload Miniprogram-Picture-Upload 努力帮助 ...

  6. html之file标签 --- 图片上传前预览 -- FileReader

    记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...

  7. html ie8上传图片,图片上传本地预览兼容ie8

    工作中遇到的,总结下来了,图片上传本地预览限制图片最大为2M 图片上传本地预览 #preview1{width:260px;height:190px;border:1px solid #000;ove ...

  8. antd vue upload组件上传视频并实现视频预览

    antd vue upload组件上传视频并实现视频预览 html代码 <form><a-form-itemlabel="商品视频":labelCol=" ...

  9. vue富文本编辑,编辑自动预览,单个图片上传不能预览的问题解决:

    vue富文本编辑,编辑自动预览,单个图片上传不能预览的问题解决: 参考文章: (1)vue富文本编辑,编辑自动预览,单个图片上传不能预览的问题解决: (2)https://www.cnblogs.co ...

  10. XX健康:预约管理-套餐管理图片上传与预览Redis实现定时清理垃圾图片

    1. 新增套餐 1.1 需求分析 套餐其实就是检查组的集合,例如有一个套餐为"入职体检套餐",这个体检套餐可以包括多个检查组:一般检查.血常规.尿常规.肝功三项等.所以在添加套餐时 ...

最新文章

  1. 飞书在线文档 美誉度国内最佳!一起来围观~
  2. PHP PDO 连接SQLSErver,PHP 使用 PDO 方式连接 sqlserver ,拼接 的 sql 命令总是报错
  3. Mysql-学习笔记(==》常用函数 八)
  4. Linux下的socket演示程序
  5. spring-data-redis 中使用RedisTemplate操作Redis
  6. nmap在kali的使用方法和常见命令(入门)
  7. 2021年江苏高考各科成绩查询,江苏2021年高考总分及各科分数
  8. 【LeetCode笔记】438. 找到字符串中所有字母异位词(Java、字符串、滑动窗口)
  9. 在raspbian上配置apache2/subversion/xdebug及mysql远程访问
  10. Python OS sys模块
  11. pandas 学习(四)—— 数据处理(清洗)、缺失值的处理
  12. Linux系统下KVM虚拟机的基本管理和操作
  13. allegro使用汇总 [转贴]
  14. Android 版灵动岛插件上线;iPhone 15或将改名,并改用USB-C接口;​Swift 5.7 发布|极客头条
  15. Android studio中的警告Hardcoded text
  16. 字符串处理,输入N个学生的名字,按字母顺序输出
  17. syx278250658
  18. 接口技术课程设计——一种基于MFC构造自动测量系统
  19. WK2124 (SPI扩展4路UART端口传输)
  20. carsim输入模块设置问题

热门文章

  1. 微信公众号jssdk:the permission value is offline verifying
  2. 蒟蒻的SCAU第一周个人排位赛赛后感想
  3. 开源主流分布式文件系统简单介绍
  4. 记参加Microsoft Ignite 大会和北京CSDN创作者之夜
  5. linux 下不错的html编辑器bluefish_php_sir_新浪博客
  6. c语言程序设计教程答案王晓云,【单选题】华人图灵奖获得者是( ) A. 吴恩达 B. 王小云 C. 姚期智 D. 杨振宁...
  7. MYSQL安装以及登录问题_飘云羽逸_新浪博客
  8. oneNET连接配置参数说明
  9. Boost.Asio Library
  10. boost入门(四):Asio实现网络通信