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的事件描述
Sep 08 Javascript
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
浅析jquery的js图表组件highcharts
Mar 06 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
JS给按钮添加跳转功能类似a标签
May 30 Javascript
JS监控关闭浏览器操作的实例详解
Sep 12 Javascript
javaScript中的空值和假值
Dec 18 Javascript
vue.js移动数组位置,同时更新视图的方法
Mar 08 Javascript
vue实现在表格里,取每行的id的方法
Mar 09 Javascript
vue 组件内获取actions的response方式
Nov 08 Javascript
js实现星星打分效果
Jul 05 Javascript
ant design的table组件实现全选功能以及自定义分页
Nov 17 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重新实现PHP脚本引擎内置函数
2007/03/06 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
javascript获取web应用根目录的方法
2014/02/12 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
Python三元运算实现方法
2015/01/12 Python
python中zip和unzip数据的方法
2015/05/27 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
python解决字符串倒序输出的问题
2018/06/25 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
html5简介及新增功能介绍
2020/05/18 HTML / CSS
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
《夜晚的实验》教学反思
2014/02/19 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
初中差生评语
2014/12/29 职场文书
工作简历的自我评价
2019/05/16 职场文书
辞职申请书范本
2019/05/20 职场文书