JS实现图片预览的两种方式


Posted in Javascript onJune 27, 2017

考虑到用户体验, 网页的图片上传数据库前,先预览是很有必要的一个步骤,第一可以给用户带来安全感,第二防止图片文件有问题而提交到数据库,占用存储资源。

那么要实现预览有两种方式:一种是用window.URL.createObjectURl方法对选择的图片数据(可以勉强理解为input的value)生成一个blob对象路径,第二种是用获取 FileReader读取器。

那么无论那种方法,首先都得得到文件数据,获得文件数据是从files集合中获取。

方式一:

代码如下:

<input type=file id="inp">
<script>
 inp.onchange=function(){
 var file=this.files[0] // 获取input上传的图片数据;
 var img=new Image() ;
 url=window.URL.createObjectURL(file) // 得到bolb对象路径,可当成普通的文件路径一样使用,赋值给src;
 img.src=url;
 //其实也可一句代码搞定,不需要声明那么多变量;img.scr=window.URL.cteateObejectURL(this.files[0]) ;
 然后把img添加到页面就实现预览了
 }
<script>

方式二:

用FileRader对像读取文件.可分为四步;1、创建FileReader对像;2、调用readAsDataURL方法读取文件;3、调用onload事件监听,我们一需要拿到完整的数据,但我们又不知道文件何时读完?,所以需要第三步监听;4、通过FileRader对像r的result属性拿到读取结果。

代码如下:

<input type=file id="inp">
<input type=file id="inp">
<script>
inp.onchange=function(){
 var read=new FileReader() // 创建FileReader对像;
 read.readAsDataURL(this.files[0]) // 调用readAsDataURL方法读取文件;
  read.onload=function(){
   url=read.result // 拿到读取结果;
   var img=new Image();
   img.src=url;
   div.appendChild(img);
 }
 }

以上所述是小编给大家介绍的JS实现图片预览的几种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js跨域问题之跨域iframe自适应大小实现代码
Jul 17 Javascript
修复bash漏洞的shell脚本分享
Dec 31 Javascript
JavaScript中利用各种循环进行遍历的方式总结
Nov 10 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
Jan 28 Javascript
利用jquery实现实时更新歌词的方法
Jan 06 Javascript
node实现的爬虫功能示例
May 04 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
Jan 24 Javascript
实用的Vue开发技巧
May 30 Javascript
关于layui flow loading占位图的实现方法
Sep 21 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
Feb 05 Javascript
JavaScript缺少insertAfter解决方案
Jul 03 Javascript
react实现复选框全选和反选组件效果
Aug 25 Javascript
JavaScript转换数据库DateTime字段类型方法
Jun 27 #Javascript
JavaScript标准对象_动力节点Java学院整理
Jun 27 #Javascript
JavaScript闭包_动力节点Java学院整理
Jun 27 #Javascript
JavaScript创建对象_动力节点Java学院整理
Jun 27 #Javascript
JavaScript字符串_动力节点Java学院整理
Jun 27 #Javascript
JavaScript变量作用域_动力节点Java学院整理
Jun 27 #Javascript
详解微信小程序 登录获取unionid
Jun 27 #Javascript
You might like
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
php利用header函数实现文件下载时直接提示保存
2009/11/12 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
基于jquery 的一个progressbar widge
2010/10/29 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
Node.js实现数据推送
2016/04/14 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
python服务器端收发请求的实现代码
2014/09/29 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
python微信公众号之关键词自动回复
2018/06/15 Python
django 将model转换为字典的方法示例
2018/10/16 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
python3 反射的四种基本方法解析
2019/08/26 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
电子信息专业自荐书
2014/02/04 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
党员个人对照检查材料
2014/10/01 职场文书