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 相关文章推荐
Array.prototype.slice 使用扩展
Jun 09 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
May 07 Javascript
js页面跳转的常用方法整理
Oct 18 Javascript
JavaScript中使用Substring删除字符串最后一个字符
Nov 03 Javascript
JS取得绝对路径的实现代码
Jan 16 Javascript
AspNet中使用JQuery boxy插件的确认框
May 20 Javascript
Validform+layer实现漂亮的表单验证特效
Jan 17 Javascript
简单实现Vue的observer和watcher
Dec 21 Javascript
Bootstrap按钮组简单实现代码
Mar 06 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
Jun 19 Javascript
在vue项目中引入vue-beauty操作方法
Feb 11 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
Aug 18 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
Terran热键控制
2020/03/14 星际争霸
支持oicq头像的留言簿(一)
2006/10/09 PHP
FCKeditor添加自定义按钮
2008/03/27 PHP
php自动获取目录下的模板的代码
2010/08/08 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
javascript实现抽奖程序的简单实例
2016/06/07 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
python中字典dict常用操作方法实例总结
2015/04/04 Python
Python实现自动上京东抢手机
2018/02/06 Python
numpy中矩阵合并的实例
2018/06/15 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
Python continue语句实例用法
2020/02/06 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
农行实习自我鉴定
2013/09/22 职场文书
检察院起诉意见书
2015/05/20 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
AudioContext 实现音频可视化(web技术分享)
2022/02/24 Javascript
MySQL的索引你了解吗
2022/03/13 MySQL
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server