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 相关文章推荐
jquery如何获取复选框的值
Dec 12 Javascript
node.js中的fs.futimes方法使用说明
Dec 17 Javascript
JS简单限制textarea内输入字符数量的方法
Oct 14 Javascript
javascript创建含数字字母的随机字符串方法总结
Aug 01 Javascript
VueJS如何引入css或者less文件的一些坑
Apr 25 Javascript
jQuery自定义元素右键点击事件(实现案例)
Apr 28 jQuery
解决canvas画布使用fillRect()时高度出现双倍效果的问题
Aug 03 Javascript
Node.js dgram模块实现UDP通信示例代码
Sep 26 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
JavaScript实现的拼图算法分析
Feb 13 Javascript
Node.js + express基本用法教程
Mar 14 Javascript
Vue SSR 即时编译技术的实现
May 06 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
php基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
js 动态选中下拉框
2009/11/26 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
详解如何在项目中使用jest测试react native组件
2018/02/09 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
Python赋值语句后逗号的作用分析
2015/06/08 Python
详解Python字符串对象的实现
2015/12/24 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Python多线程thread及模块使用实例
2020/04/28 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
英国羊皮鞋类领先品牌:Just Sheepskin
2019/12/12 全球购物
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
2015年乡镇纪检工作总结
2015/04/22 职场文书
六年级情感作文之500字
2019/10/23 职场文书