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完成节点的增删改复制等的操作
Jan 02 Javascript
js获取ajax返回值代码
Apr 30 Javascript
jquery实现表格本地排序的方法
Mar 11 Javascript
JavaScript各类型的关系图解
Oct 16 Javascript
js实现页面跳转的几种方法小结
May 16 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
Dec 24 Javascript
收藏AngularJS中最重要的核心功能
Jul 09 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
Dec 28 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
Aug 28 Javascript
js canvas实现画图、滤镜效果
Nov 27 Javascript
JS函数节流和防抖之间的区分和实现详解
Jan 11 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
Jul 15 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
对Session和Cookie的区分与解释
2007/03/16 PHP
PHP中break及continue两个流程控制指令区别分析
2011/04/18 PHP
探讨PHP中OO之静态关键字以及类常量的详解
2013/06/07 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
php设计模式之观察者模式定义与用法经典示例
2019/09/19 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
JQuery实现自定义对话框的代码
2008/06/15 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
vue内置组件keep-alive事件动态缓存实例
2020/10/30 Javascript
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
tornado框架blog模块分析与使用
2013/11/21 Python
python多进程重复加载的解决方式
2019/12/13 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
python语言的优势是什么
2020/06/17 Python
Python colormap库的安装和使用详情
2020/10/06 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
2021/01/24 Python
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
优秀毕业生事迹材料
2014/02/12 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
邀请函范文
2015/02/02 职场文书
商务宴会祝酒词
2015/08/11 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书