fblog

分类

档案

日历

新的日志

新的评论

新的留言

链接

管理

搜索

统计




2009-12-10 10:39:00

js判断文件大小

作者:ctohome

第一种是应用ActiveX控件的实现,例如:

  1. <script type="text/javascript">       
  2. function getFileSize(filePath)       
  3. {       
  4.     var fso = new ActiveXObject("Scripting.FileSystemObject");       
  5.     alert("文件大小为:"+fso.GetFile(filePath).size);       
  6. }       
  7. </script>       

    这种方法可以实现,也容易被开发人员想到,但是唯一不足之处是有安全提示,当然把文件名改为.hta则会屏蔽掉安全提示,但很难被需求所取。不推荐,也不多说

    下面主要谈谈另一种方式,在html标签中有一个不为一般开发人员“深”知的img标签,先来说下他有的属性:src,dynsrc,start,alt,controls,loop,loopdelay,hspace,vspace....还有一些常用的属性就不列出来了,在这里我们说一下"dynsrc"这个属性:dynsrc可以用来插入各种多媒体,格式可以是Wav、Avi、AIFF、AU、MP3、Ra、Ram等等。url为音频或视频文件及其路径,可以是相对路径或绝对路径。

    示例:<img dynsrc="/xxxx.mp3">

    这样我们就可以根据dynsrc动态赋值任何类型文件的路径,在javascript中根据Image对象本身的fileSize属性来得到文件的大小。当然Image对象还有其他的几个属性,例如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters... , 代码如下:

    1. <script type="text/javascript">       
    2. function getFileSize(filePath)       
    3. {       
    4.     var image=new Image();       
    5.    image.dynsrc=filePath;       
    6.     alert(image.fileSize);       
    7. }       
    8. </script>       

    9. <body>       
    10. <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">       
    11. </body>     
    12. <script type="text/javascript">  
    13. function getFileSize(filePath)   
    14. {   
    15.     var image=new Image();   
    16.    image.dynsrc=filePath;   
    17.     alert(image.fileSize);   
    18. }   
    19. </script>  
    20. <body>  
    21. <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">  
    22. </body>  

发表评论:

    大名:
    密码:
    主页:
    标题:
COPYRIGHT © 2006 ALL RIGHTS RESERVED , www.koosee.com
koosee.com