JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】


Posted in Javascript onApril 24, 2017

本文实例讲述了JS实现获取图片大小和预览的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS获取图片大小和预览【兼容IE和其它浏览器】</title>
</head>
<script type="application/javascript">
function previewImage(oImage,preViewId){
  if(!oImage.value.match(/.jpg|.jpeg|.gif|.png|.bmp/i)){
    //alert('图片格式无效!');
    return;
  }
  var imgPath = "";
  if(document.all){
    //低版本IE浏览器
    oImage.select();
    imgPath = document.selection.createRange().text;
    //使用滤镜效果
    var tempValue = "progid:DXImageTransform.Microsoft.AlphaImageLoader("
    tempValue += "enabled='true',sizingMethod='scale',src=\"" + imgPath + "\")";
    document.getElementById(preViewId).style.filter = tempValue;
  }else{
    //非IE浏览器,如火狐google等浏览器
    imgPath = window.URL.createObjectURL(oImage.files[0]); //FF7.0以上
    document.getElementById(preViewId).src = imgPath; //显示预览图
  }
};
function getFileSize(objFile){
  var fileSize = objFile.fileSize || 0;
  if(fileSize == 0) {
    fileSize = objFile.files[0].size;
  }
  return fileSize;
}
function imageChange(){
  var oImg = document.getElementById("imageFile01");
  previewImage(oImg,"preview");
  var fileSize = getFileSize(oImg);
  fileSize = Math.ceil(fileSize / 1024) + "KB";
  var filePath =oImg.value;
  var agent = window.navigator.userAgent;
  var tempValue = "<br>File size: " + fileSize;
  tempValue += "<br>File path: " + filePath;
  tempValue += "<br>agent=" + agent;
  document.getElementById("imageInfo").innerHTML = tempValue;
};
</script>
<body>
<h3>JS获取图片大小和预览【兼容IE和其它浏览器】</h3>
<img id="preview" style="width: 100px; height: 60px; border: 0px;" />
<br>
<input name="imageFile01" id="imageFile01" type="file" onchange="javascript:imageChange();" />
<br>
<div id="imageInfo"></div>
</body>
</html>

运行效果图如下:

JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js 模拟实现类似c#下的hashtable的简单功能代码
Jan 24 Javascript
JavaScript类库D
Oct 24 Javascript
jQuery基本过滤选择器用法示例
Sep 09 Javascript
JS实现“隐藏与显示”功能(多种方法)
Nov 24 Javascript
jQuery基本选择器和层次选择器学习使用
Feb 27 Javascript
Javascript中Promise的四种常用方法总结
Jul 14 Javascript
vue非父子组件通信问题及解决方法
Jun 11 Javascript
vue 解决循环引用组件报错的问题
Sep 06 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
Jul 26 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
Sep 03 Javascript
JavaScript canvas绘制折线图
Feb 18 Javascript
Postman内建变量常用方法实例解析
Jul 28 Javascript
angular中实现控制器之间传递参数的方式
Apr 24 #Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
Apr 24 #Javascript
JS实现加载和读取XML文件的方法详解
Apr 24 #Javascript
JS简单获取日期相差天数的方法
Apr 24 #Javascript
Angular.js中控制器之间的传值详解
Apr 24 #Javascript
jquery submit()不能提交表单的解决方法
Apr 24 #jQuery
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 #jQuery
You might like
php命令行模式代码实例详解
2021/02/26 PHP
推荐dojo学习笔记
2007/03/24 Javascript
JavaScript中的事件处理
2008/01/16 Javascript
用cssText批量修改样式
2009/08/29 Javascript
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
JavaScript代码实现左右上下自动晃动自动移动
2016/04/08 Javascript
JavaScript学习笔记整理_关于表达式和语句
2016/09/19 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
用vue写一个日历
2020/11/02 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python fileinput模块使用介绍
2014/11/30 Python
python实现bucket排序算法实例分析
2015/05/04 Python
python占位符输入方式实例
2019/05/27 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
Pycharm中如何关掉python console
2020/10/27 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
System.Array.CopyTo()和System.Array.Clone()有什么区别
2016/06/20 面试题
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
市场营销专业个人求职信范文
2013/12/14 职场文书
主持人演讲稿范文
2013/12/28 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
幼儿发展评估方案
2014/06/11 职场文书
售后客服工作职责
2014/06/16 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python