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函数排序的实例代码
Jul 01 Javascript
node.js中的console.error方法使用说明
Dec 10 Javascript
JavaScript分秒倒计时器实现方法
Feb 02 Javascript
jQuery性能优化技巧分析
Feb 20 Javascript
TypeOf这些知识点你了解吗
Feb 21 Javascript
Javascript获取background属性中url的值
Oct 17 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 Javascript
微信小程序组件 marquee实例详解
Jun 23 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
vue中SPA单页面应用程序详解
Nov 07 Javascript
js实现百度淘宝搜索功能
Feb 17 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
Nov 09 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
支持php4、php5的mysql数据库操作类
2008/01/10 PHP
php抓取页面与代码解析 推荐
2010/07/23 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
php中return的用法实例分析
2015/02/28 PHP
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
2016/08/02 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
JS判断数组那点事
2017/10/10 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
python连接字符串的方法小结
2015/07/13 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
2017/12/11 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
学生就业推荐信
2013/11/13 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
政治学求职信
2014/06/03 职场文书
2016年春节慰问信息
2015/03/25 职场文书
使用MybatisPlus打印sql语句
2022/04/22 SQL Server
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers