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 相关文章推荐
扩展javascript的Date方法实现代码(prototype)
Nov 20 Javascript
js实现仿百度瀑布流的方法
Feb 05 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
Mar 21 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
May 30 Javascript
AngularJS实现动态编译添加到dom中的方法
Nov 04 Javascript
简单理解vue中实例属性vm.$els
Dec 01 Javascript
js实现消息滚动效果
Jan 18 Javascript
Vue实现百度下拉提示搜索功能
Jun 21 Javascript
深入浅析AngularJs模版与v-bind
Jul 06 Javascript
Vue列表渲染的示例代码
Nov 01 Javascript
JS实现多功能计算器
Oct 28 Javascript
JS数组方法some、every和find的使用详情
Oct 05 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
JAVA/JSP学习系列之六
2006/10/09 PHP
php中stdClass的用法分析
2015/02/27 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
vue使用vue-cli快速创建工程
2017/07/28 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
python连接oracle数据库实例
2014/10/17 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
英国家用电器购物网站:Hughes
2018/02/23 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
法学研究生自我鉴定范文
2013/12/04 职场文书
实习生个人的自我评价
2013/12/08 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
python爬虫框架feapde的使用简介
2021/04/20 Python
go语言中json数据的读取和写出操作
2021/04/28 Golang
MySQL慢查询的坑
2021/04/28 MySQL
使用Python的开发框架Brownie部署以太坊智能合约
2021/05/28 Python
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS