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 5 新增 Array 方法实现介绍
Feb 06 Javascript
JS 控件事件小结
Oct 31 Javascript
js添加table的行和列 具体实现方法
Jul 22 Javascript
JS不间断向上滚动效果代码
Dec 25 Javascript
深入分析Javascript跨域问题
Apr 17 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
Mar 11 Javascript
基于rem的移动端响应式适配方案(详解)
Jul 07 Javascript
JavaScript 日期时间选择器一些小结
Apr 02 Javascript
Nautil 中使用双向数据绑定的实现
Oct 02 Javascript
JS如何把字符串转换成json
Feb 21 Javascript
详解Vue Cli浏览器兼容性实践
Jun 08 Javascript
关于JavaScript 中 if包含逗号表达式
Nov 27 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中使用file_get_contents post数据代码例子
2015/02/13 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
js捆绑TypeScript声明文件的方法教程
2018/04/13 Javascript
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
Python计算程序运行时间的方法
2014/12/13 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
Python读取stdin方法实例
2019/05/24 Python
Python操作Excel的学习笔记
2021/02/18 Python
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
如何进行有效的自我评价
2013/09/27 职场文书
给儿子的表扬信
2014/01/15 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
初中教师业务学习材料
2014/05/12 职场文书
2014小学生国庆65周年演讲稿
2014/09/21 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
python中pandas对多列进行分组统计的实现
2021/06/18 Python