基于Vue实现头像选择预览

需求是点击头像这一栏可以弹出选择文件的弹出框。

1、首先添加一个input输入框,将其隐藏,设置一个accept属性,说明只选择图片,并且绑定ref属性方便原生dom操作

<input type="file" hidden accept="image/*" ref="fileRef">

2、在头像这一栏中添加一个点击事件,弹出选择文件的弹框

<van-cell
title="头像"
is-link
center
@click="$refs.fileRef.click()"
>

3、给input输入框绑定一个原生的change事件,当你选择的文件发生改变时触发。但是不满足需求,我的需求是只要选择了图片就触发,只需在代码中将你选中的图片的value值清空即可。

<inputtype="file"hiddenaccept="image/*"ref="fileRef"@change="checkPic">
checkPic () {console.log('选择了图片')this.$refs.fileRef.value = ''}

4、使用window.URL.createObjectURL()方法得到图片的URL地址,参考如下地址:

https://developer.mozilla.org/zh-CN/docs/Web/API/URL/createObjectURL

const blob =window.URL.createObjectURL(this.$refs.fileRef.files[0])
console.log(blob)
this.imgSrc = blob

5、最后将图片的src属性设置为blob地址即可显示你所选择的图片啦

<img :src="imgSrc" alt="">

基于Vue实现头像选择预览相关推荐

  1. 基于vue实现word 在线预览

    1.安装mammoth插件 npm install mammoth 2.HTML代码 <template><div id="wordView" v-html=&q ...

  2. fis3+vue+pdf.js制作预览PDF文件或其他

    人生第一篇博客,的确有点紧张,但有些许兴奋,因为这对于我来说应该是一个好的开始,以此励志在技术的道路上越走越远. 看过了多多少少的技术博客,给自己带来了很多技术上的收获,也因此在想什么时候自己也可以赠 ...

  3. js-xlsx vue导入excel在线预览

    js-xlsx vue导入excel在线预览 导入XLSX库 官方地址Github 安装 npm install xlsx --s 引入 import XLSX from 'xlsx' HTML &l ...

  4. vue项目实现前端预览word和pdf格式文件

    最近做vue项目遇到一个需求,就是前端实现上传word或pdf文件后,后端返回文件对应的文件流,前端需要在页面上展示出来.word预览简单一些,pdf预览我试过pdfjs,vue-pdf总是报各种奇奇 ...

  5. Vue中使用pdfJs预览PDF、图片

    Vue中使用pdfJs预览PDF.图片 pdf.js是一个使用HTML5构建的可移植文档格式库.它可以帮助我们在浏览器中构建pdf文档,实现在线查看pdf文件的功能. 实现步骤如下: 1.下载pdfJ ...

  6. Vue vant 使用 ImagePreview 预览图片

    Vue vant 使用 ImagePreview 预览图片 场景1 编列数组生成图片,点击预览图片 <div class="zoom"v-for="(item, i ...

  7. Java基于springmvc实现文档预览(openoffice+swftools+flexpaper)(排坑记录)

    Java基于springmvc实现文档预览(openoffice+swftools+flexpaper)(排坑记录) 本文代码来源已在末尾标注,写本文的目的在于记录自己在实践过程中遇到的问题及解决方案 ...

  8. Vue 图片、PDF预览(Blod数据类型)

    Vue 图片.PDF预览(Blod数据类型) 简单的PDF/图片预览 请求接口 需要将后端返回的文件转为文件流 这里的请求用的axios封装的 也可以用原生的 注意设置responseType: &q ...

  9. vue移动端文件预览

    vue移动端文件预览 前言: 整体思路: 具体实现: 一.外壳(vViews.vue): 二.文件预览: 1.图片预览: 2.pdf文件预览: 3.docx文件预览: 4.excel表格预览(xls. ...

最新文章

  1. 2021年大数据Flink(四十五):​​​​​​扩展阅读 双流Join
  2. Exchenge2007用户设置邮件转发到外网地址
  3. vsftpd配置文件详解
  4. Fedora 34 Beta发布:引入GNOME 40巨大桌面升级
  5. PMCAFF微课堂 | 奇酷运营总监类类教你如何利用金字塔模型提高用户忠诚度
  6. 攻防世界-web-unfinish-从0到1的解题历程writeup
  7. gym103117L. Spicy Restaurant
  8. shell linux教程,Shell入门基础知识
  9. 74 岁的柳传志和 34 岁的联想
  10. 表单嵌套问题的解决方法
  11. 记一次生产环境存储过程优化的过程(42秒--0.06秒)
  12. wpf DoEvents
  13. php excel 下拉菜单,Laravel Excel库(Maatwebsite):如何在导出中创建下拉列表 - php
  14. 开源数据库postgreSQL13在麒麟v10sp1源码安装
  15. Notion,程序员最后一款笔记软件
  16. Python 五个知识点搞定作用域
  17. 记一次RATEL脱壳配合Il2CppDumper解密完成的样本分析
  18. DirectShow Filter的开发实践
  19. 对于气缸型号表示的内容与与含义说明
  20. Android-Glide使用

热门文章

  1. 交换学生(Foreign Exchange)
  2. VUE element-ui之table表格自增序号(前端实现)
  3. 关于OPV和IPV:脊髓灰质炎(小儿麻痹症)疫苗
  4. java实现压缩文件预览
  5. C++中头文件和源文件得作用
  6. 调用部署在 MindSphere 中的 app 暴露的 APIs
  7. gitlab旧服务器备份迁移新服务器
  8. 写景高分作文心田花开秘诀
  9. 谁在计算机房里,江中故事 | 这位不一般的老师,带给了我们一段计算机房里的别样师徒情……...
  10. Vue Vuex 是什么