兼容 IE6+ 获取图片大小

昨天说了 HTML5 的file对象可以获取到文件的 文件名,文件大小,文件类型,最后一次修改日期。
其实 IE6-9 也可以变向的获取到,虽然没那么方便,但至少可以取到。
来看例子吧:

<!doctype html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>test</title>
</head>
<body>
  <input type="file" id="myfile" />
  <script>
  var myfile = document.getElementById("myfile");
  
  myfile.onchange = function () {
    if (window.File) {
      var img = myfile.files[0];
      alert([img.name, img.type, img.size, img.lastModified || img.lastModifiedDate].join(" - "));
    } else {
      myfile.select();
      var url = document.selection.createRange().text;
      var img = new Image();
      
      img.onload = function () {
        alert([img.nameProp, img.mimeType, img.fileSize, img.fileModifiedDate].join(" - "));
        img.onload = null;
      };
      img.src = url;
      
    }
  }
  </script>
</body>
</html>

IE 6

IE 7

IE 8

IE 9

chrome

firefox

PS: 推荐用虚拟机测试,因为我用IE11的仿真测试,结果有时取到有时取不到,被坑的不浅啊。。

FF 下获取最后修改时间不是 lastModified 而是 lastModifiedDate

好了,今天就分享这些了。。

posted @ 2014-08-06 23:11  楼教主  阅读(1764)  评论(8编辑  收藏  举报