vue 结合 FileReader() 实现上传图片预览功能
项目中 身份证上传需求:

<div class="ID_pic_wrap">
<ul>
<li>
<img src="../../assets/images/id_face_pic@2x.png" >
<span class="cancel_btn" @click="delFun()"></span>
<input id="id_face_file" @change="uploadFile1" ref="files1" type="file">
<img id="showIdFaceSrc" :src="src1" alt="">
</li>
<li>
<img src="../../assets/images/id_behand_pic@2x.png" >
<span class="cancel_btn" @click="delFun()"></span>
<input id="id_behand_file" @change="uploadFile2" ref="files2" type="file">
<img id="showIdbehandSrc" :src="src2" alt="">
</li>
</ul>
</div>
uploadFile1(e){
let _this = this;
// console.log(e.target.files[0])
if (!e || !window.FileReader) return // 看支持不支持FileReader
let reader = new FileReader()
reader.readAsDataURL(e.target.files[0]) // 这里是最关键的一步,转换就在这里 (参数必须是blob对象)
reader.onloadend = function () {
_this.src1 = this.result
}
},
uploadFile2(e){
console.log(222)
let _this = this;
if (!e || !window.FileReader) return // 看支持不支持FileReader
// console.log(e.target.files[0]);
let reader = new FileReader()
reader.readAsDataURL(e.target.files[0]) // 这里是最关键的一步,转换就在这里(参数必须是blob对象)
reader.onloadend = function () {
_this.src2 = this.result
}
},
delFun(){
if(this.src1){
this.src1 = "";
this.$refs.files1.value=""; //这里清空input的value 不然不可以选择相同的文件
}else if(this.src2){
this.src2 = "";
this.$refs.files2.value=""; //这里清空input的value 不然不可以选择相同的文件
}
},
note:
FileReader() 兼容性

更多信息 移步:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader
vue 结合 FileReader() 实现上传图片预览功能的更多相关文章
- 通过HTML5 FileReader实现上传图片预览功能
原文:http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/201706224590.html 在上传图片到服务器之前,我们希望可以预览一下要上传的图片. ...
- HTML5上传图片预览功能
HTML5上传图片预览功能 HTML代码如下: <!-- date: 2018-04-27 14:41:35 author: 王召波 descride: HTML5上传图片预览功能 --> ...
- JS 上传图片 + 预览功能(一)
JS 上传图片 + 预览功能 <body> <input type="file" id="fileimg1" style="disp ...
- 【小月博客】用HTML5的File API做上传图片预览功能
前段时间做了一个项目,涉及到上传本地图片以及预览的功能,正好之前了解过 html5(点击查看更多关于web前端的有关资源) 可以上传本地图片,然后再网上看了一些demo结合自己的需求,终于搞定了.(P ...
- 关于H5里的API,上传图片预览功能
FileReader:读取本地图片文件并显示 写在开头 之前公司要求做一个H5页面,功能是照相和选择相册相片,并且能在屏幕上预览.然后我就傻里吧唧的各种找插件,因为有些插件不适配手机的型号,安卓机基本 ...
- h5拖放-上传图片预览功能
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- HTML5拖放事件-上传图片预览功能
主要用到的知识点有dataTransfer对象和FileReader(读取文件信息) 1.创建简单的HTML标签: <body> <div id="box"> ...
- JS 上传图片 + 预览功能(二)
简单粗暴 直接进入主题: Html <script src="../js/jquery-2.1.1.min.js"></script> <style& ...
- 简单实现JS上传图片预览功能
HTML代码 <div class="upload"> <input type="button" class="btn" ...
随机推荐
- Oracle查询所有表的字段明细
SELECT USER_TAB_COLS.TABLE_NAME as 表名, UTC.COMMENTS as 表中文名, USER_TAB_COLS.COLUMN_ID as 列序号, USER_TA ...
- 【地图功能开发系列:一】根据当前坐标点获取距离不超过N公里的门店
在此处输入标题 声明变量 //假设当前坐标 double lon1 = 113.336028; double lat1 = 23.21745; //距离m double distance = 1000 ...
- 「NOI2013」树的计数 解题报告
「NOI2013」树的计数 这什么神题 考虑对bfs重新编号为1,2,3...n,然后重新搞一下dfs序 设dfs序为\(dfn_i\),dfs序第\(i\)位对应的节点为\(pos_i\) 一个暴力 ...
- termux
使用http服务,链接原服务器要挂vpn. apt edit-sources 如果提示 $ apt edit-sources e: Sub-process editor returned a n er ...
- Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
一:项目建立好及其基本的测试好 二:在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 <build> <finalName&g ...
- 从Docker 到Jenkins 到Ansible的部署经验
从Docker 到Jenkins 到Ansible的部署经验 工作中,除了开发功能,还负责系统的部署工作.我从频繁的部署工作中,逐渐找到了一些偷懒的方法.从传统的Java -jar命令启动服务,到通过 ...
- MVC系统过滤器 OutputCacheAttribute
命名空间: System.Web.Mvc程序集: System.Web.Mvc(在 System.Web.Mvc.dll 中) 一.MVC缓存简介 缓存是将信息(数据或页面)放在内存中以避免频繁的 ...
- JavaScript之Map对象
前言 工欲善其事,必先利其器.这是一款以前在前端项目中没有使用过的.有趣的对象,咱来看看如何使用~ 并非arrayObj.map(function) //arrayObj.map与arrayObj.f ...
- UE4命令行使用,解释
命令行在外部 从命令行运行编辑项目 1 导航到您的[LauncherInstall][VersionNumber]\Engine\Binaries\Win64 目录中. 2 右键单击上 UE4Edit ...
- iTOP-4418开发板所用核心板研发7寸/10.1寸安卓触控一体机
iTOP-4418开发板所用核心板研发7寸/10.1寸安卓触控一体机 作为重中之重的电源管理选型,经多方对比测试最终选用AXP228,并得到原厂肯定 预留锂电池接口,内置充放电电路及电量计,可轻松搞定 ...