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学习笔记之jQuery的动画
Dec 22 Javascript
关于COOKIE个数与大小的问题
Jan 17 Javascript
ToolTips JQEURY插件之简洁小提示框效果
Nov 19 Javascript
JS实现单行文字不间断向上滚动的方法
Jan 29 Javascript
理解Javascript的动态语言特性
Jun 17 Javascript
PHP捕捉异常中断的方法
Oct 24 Javascript
浅谈js的解析顺序 作用域 严格模式
Oct 23 Javascript
Node.js实现发送邮件功能
Nov 06 Javascript
vue.js通过路由实现经典的三栏布局实例代码
Jul 08 Javascript
如何通过setTimeout理解JS运行机制详解
Mar 23 Javascript
vue中如何自定义右键菜单详解
Dec 08 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
聊一聊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的网址
2006/11/25 PHP
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
三种php连接access数据库方法
2013/11/11 PHP
php实现的ping端口函数实例
2014/11/12 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
iOS10推送通知开发教程
2016/09/19 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
详解Python的单元测试
2015/04/28 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
python中字符串的操作方法大全
2018/06/03 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
python基于SMTP协议发送邮件
2019/05/31 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
python打开文件的方式有哪些
2020/06/29 Python
python代码能做成软件吗
2020/07/24 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
优秀学生党员先进事迹材料
2014/05/29 职场文书
征兵宣传标语
2014/06/20 职场文书
考试作弊检讨
2015/01/27 职场文书
毕业典礼致辞
2015/07/29 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL