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 parseInt 函数分析(转)
Mar 21 Javascript
Jquery之美中不足小结
Feb 16 Javascript
Javascript变量作用域详解
Dec 06 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
Apr 12 Javascript
js简单实现竖向tab选项卡的方法
May 04 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
Aug 26 Javascript
浅谈js常用内置方法和对象
Sep 24 Javascript
Vuex之理解Store的用法
Apr 19 Javascript
详解vue-cli 脚手架 安装
Apr 16 Javascript
微信小程序通过js实现瀑布流布局详解
Aug 28 Javascript
基于JS实现简单滑块拼图游戏
Oct 12 Javascript
vuex实现像调用模板方法一样调用Mutations方法
Nov 06 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下目前为目最全的CURL中文说明
2010/08/01 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
基于JQuery的多标签实现代码
2012/09/19 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
pygame实现弹力球及其变速效果
2017/07/03 Python
详解python中的json和字典dict
2018/06/22 Python
python对视频画框标记后保存的方法
2018/12/07 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
Python箱型图处理离群点的例子
2019/12/09 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
FORZIERI澳大利亚站:全球顶级奢华配饰精品店
2016/12/31 全球购物
eBay德国站:eBay.de
2017/09/14 全球购物
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
总务岗位职责
2013/11/19 职场文书
编辑求职信样本
2013/12/16 职场文书
学生安全责任书
2014/04/15 职场文书
入党积极分子评语
2014/05/04 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
一份没有按时交货失信于客户的检讨书
2014/09/19 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书