js图片上传前预览功能(兼容所有浏览器)


Posted in Javascript onAugust 24, 2016

网上找到的一份文件上传前预览的代码,转自JavaScript 图片的上传前预览(兼容所有浏览器)

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <style type="text/css">
 #preview,
 .img,
 img {
  width: 200px;
  height: 200px;
 }
 
 #preview {
  border: 1px solid #000;
 }
 </style>
</head>

<body>
 <div id="preview"></div>
 <input type="file" onchange="preview(this)" />
 <script type="text/javascript">
 function preview(file) {
  var prevDiv = document.getElementById('preview');
  if (file.files && file.files[0]) {
   var reader = new FileReader();
   reader.onload = function(evt) {
    prevDiv.innerHTML = '<img src="' + evt.target.result + '" />';
   }
   reader.readAsDataURL(file.files[0]);
  } else {
   prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';
  }
 }
 </script>
</body>
</html>

实现要点

● 对于 Chrome、Firefox、IE10 使用 FileReader 来实现。 
● 对于 IE6~9 使用滤镜 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader 来实现。
测试了一下IE8+都没有问题。但是IE7下file.value被浏览器去掉了文件路径分割线从而显示不出来 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
Jun 28 Javascript
document.all的一个比较完整的总结及案例
Jan 31 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
Nov 03 Javascript
js实现选中页面文字将其分享到新浪微博
Nov 05 Javascript
Form表单按回车自动提交表单的实现方法
Nov 18 Javascript
p5.js入门教程之小球动画示例代码
Mar 15 Javascript
vue-router动态设置页面title的实例讲解
Aug 30 Javascript
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 jQuery
小程序实现列表删除功能
Oct 30 Javascript
react实现移动端下拉菜单的示例代码
Jan 16 Javascript
el-form 多层级表单的实现示例
Sep 10 Javascript
Javascript设计模式之原型模式详细
Oct 05 Javascript
聊一聊jQuery插件uploadify使用方法
Aug 24 #Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 #Javascript
关于JavaScript数组你所不知道的3件事
Aug 24 #Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
Aug 24 #Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
Aug 24 #Javascript
jQuery Raty 一款不错的星级评分插件
Aug 24 #Javascript
jQuery实现自动输入email、时间和域名的方法
Aug 24 #Javascript
You might like
浅析PHP 按位与或 (^ 、&amp;)
2013/06/21 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
PHP7内核之Reference详解
2019/03/14 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
python获取标准北京时间的方法
2015/03/24 Python
Python lxml模块安装教程
2015/06/02 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
flask框架视图函数用法示例
2018/07/19 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
python属于解释语言吗
2020/06/11 Python
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
教师简历自我评价
2014/02/03 职场文书
会务接待方案
2014/02/27 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
导游词之河北野三坡
2019/12/11 职场文书
mysql序号rownum行号实现方式
2022/12/24 MySQL