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 相关文章推荐
Sample script that displays all of the users in a given SQL Server DB
Jun 16 Javascript
js的闭包的一个示例说明
Nov 18 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
May 14 Javascript
阻止子元素继承父元素事件具体思路及实现
May 02 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 Javascript
ES6所改良的javascript“缺陷”问题
Aug 23 Javascript
node通过npm写一个cli命令行工具
Oct 12 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
Jan 10 Javascript
angular6的table组件开发的实现示例
Dec 26 Javascript
Elasticsearch实现复合查询高亮结果功能
Sep 10 Javascript
Vue路由对象属性 .meta $route.matched详解
Nov 04 Javascript
vue页面更新patch的实现示例
Mar 25 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
使用Sphinx对索引进行搜索
2013/06/25 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
javascript每日必学之多态
2016/02/23 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
python 实现多维数组(array)排序
2020/02/28 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
Python如何输出警告信息
2020/07/30 Python
Python request中文乱码问题解决方案
2020/09/17 Python
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
Collection和Collections的区别
2016/05/02 面试题
《充气雨衣》教学反思
2014/04/07 职场文书
教师产假请假条范文
2014/04/10 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
单位作风建设自查报告
2014/10/23 职场文书
2015年招聘工作总结
2014/12/12 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
Python 阶乘详解
2021/10/05 Python
Windows下载并安装MySQL8.0.x 版本的完整教程
2022/04/10 MySQL