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 相关文章推荐
让你的网站可编辑的实现js代码
Oct 19 Javascript
js中设置元素class的三种方法小结
Aug 28 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
Jun 05 Javascript
jQuery制作效果超棒的手风琴折叠菜单
Apr 03 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
Jan 08 Javascript
Bootstrap警告(Alerts)的实现方法
Mar 22 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
Jun 16 Javascript
深入理解node.js http模块
Jan 24 Javascript
在Vue项目中使用d3.js的实例代码
May 01 Javascript
详解element-ui设置下拉选择切换必填和非必填
Jun 17 Javascript
JavaScript变量基本使用方法实例分析
Nov 15 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
使用 MySQL Date/Time 类型
2008/03/26 PHP
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
python文字转语音的实例代码分析
2019/11/12 Python
Python实现非正太分布的异常值检测方式
2019/12/09 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
linux面试题参考答案(8)
2015/08/11 面试题
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
推荐信模板
2014/05/09 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
政风行风评议整改方案
2014/09/15 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS