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 相关文章推荐
JavaScript中常见陷阱小结
Apr 27 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
JavaScript中伪协议 javascript:使用探讨
Jul 18 Javascript
详解JavaScript中void语句的使用
Jun 04 Javascript
javascript随机抽取0-100之间不重复的10个数
Feb 25 Javascript
js实现弹窗居中的简单实例
Oct 09 Javascript
Jquery on绑定的事件 触发多次实例代码
Dec 08 Javascript
JavaScript数组和对象的复制
Mar 21 Javascript
JavaScript实现省市县三级级联特效
May 16 Javascript
vue.js实现价格格式化的方法
May 23 Javascript
JS中Map和ForEach的区别
Feb 05 Javascript
多种类型jQuery网页验证码插件代码实例
Jan 09 jQuery
聊一聊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 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
jQuery检测返回值的数据类型
2015/07/13 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
Python写的一个简单DNS服务器实例
2014/06/04 Python
python基础教程之序列详解
2014/08/29 Python
Python多线程编程(四):使用Lock互斥锁
2015/04/05 Python
让Python更加充分的使用Sqlite3
2017/12/11 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
python对XML文件的操作实现代码
2020/03/27 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
CK美国官网:Calvin Klein
2016/08/26 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
优秀学生事迹材料
2014/02/08 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
综合实践活动报告
2015/02/05 职场文书
面试通知邮件
2015/04/20 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书