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使用hide方法隐藏页面上指定元素的方法
Mar 30 Javascript
javascript实现日期按月份加减
May 15 Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 Javascript
Jquery 整理元素选取、常用方法一览表
Nov 26 Javascript
微信公众平台开发教程(五)详解自定义菜单
Dec 02 Javascript
js自制图片放大镜功能
Jan 24 Javascript
JS实现的base64加密解密操作示例
Apr 18 Javascript
JS实现点击按钮可实现编辑功能
Jul 03 Javascript
React中嵌套组件与被嵌套组件的通信过程
Jul 11 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
May 13 Javascript
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
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 xml-rpc远程调用
2008/12/19 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
JS控件autocomplete 0.11演示及下载 1月5日已更新
2007/01/09 Javascript
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
JavaScript经典效果集锦
2010/07/06 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
javascript几个易错点记录
2014/11/26 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
[13:25]VP vs VICI (BO3)
2018/06/07 DOTA
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
Python 多进程和数据传递的理解
2017/10/09 Python
python实现猜单词小游戏
2020/05/22 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
python3 logging日志封装实例
2020/04/08 Python
python def 定义函数,调用函数方式
2020/06/02 Python
学python最电脑配置有要求么
2020/07/05 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
HTML5微信播放全屏问题的解决方法
2017/03/09 HTML / CSS
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
斯福泰克软件测试面试题
2015/02/16 面试题
颂军魂爱军营演讲稿
2014/09/13 职场文书
英语教学课后反思
2016/02/15 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技