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 相关文章推荐
javascript 自动转到命名锚记
Jan 10 Javascript
js中设置元素class的三种方法小结
Aug 28 Javascript
select标记美化--JS式插件、后期加载
Apr 01 Javascript
js数组循环遍历数组内所有元素的方法
Jan 18 Javascript
JavaScript中数组成员的添加、删除介绍
Dec 30 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
Jul 22 Javascript
JavaScript用构造函数如何获取变量的类型名
Dec 23 Javascript
jQuery实现二维码扫描功能
Jan 09 Javascript
浅谈jquery拼接字符串效率比较高的方法
Feb 22 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
Mar 01 Javascript
在vue里面设置全局变量或数据的方法
Mar 09 Javascript
Node.js Stream ondata触发时机与顺序的探索
Mar 08 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实例
2013/12/24 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
accesskey 提交
2006/06/26 Javascript
showModelessDialog()使用详解
2006/09/07 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
2011/05/06 Javascript
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
javascript数据结构中栈的应用之符号平衡问题
2017/04/11 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
跟老齐学Python之有点简约的元组
2014/09/24 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
Python中按值来获取指定的键
2019/03/04 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
西尔斯百货官网:Sears
2016/09/06 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
什么是网络协议
2016/04/07 面试题
软件测试题目
2013/02/27 面试题
财务担保书范文
2014/04/02 职场文书
团队精神口号
2014/06/06 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
群众对十八届四中全会的期盼
2014/10/17 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
java设计模式--三种工厂模式详解
2021/07/21 Java/Android
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python