IT猫扑网文章教程

分类分类

关于javascript判断文件大小

2015-06-28 00:00作者:网管联盟

对于web开发人员来说文件上传文件是经常遇到的,判断文件大小也是不可缺少,在这里主要介绍一下javascript判断文件大小的几种常见的方法。

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

Javascript代码
<script type=&text/javascript&>   
function getFileSize(filePath)   
{   
   var fso = new ActiveXObject(&Scripting.FileSystemObject&);   
   alert(&文件大小为:&+fso.GetFile(filePath).size);   
}   
</script>   
<body>   
<INPUT TYPE=&file& NAME=&file& SIZE=&30& onchange=&getFileSize(this.value);&>   
</body> 
<script type=&text/javascript&>
function getFileSize(filePath)
{
   var fso = new ActiveXObject(&Scripting.FileSystemObject&);
   alert(&文件大小为:&+fso.GetFile(filePath).size);
}
</script>
<body>
<INPUT TYPE=&file& NAME=&file& SIZE=&30& onchange=&getFileSize(this.value);&>
</body>


这种方法可以实现,也容易被开发人员想到,但是唯一不足之处是有安全提示,当然把文件名改为.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... , 代码如下:


Javascript代码
<script type=&text/javascript&>   
function getFileSize(filePath)   
{   
   var image=new Image();   
   image.dynsrc=filePath;   
   alert(image.fileSize);   
}   
</script>   
<body>   
<INPUT TYPE=&file& NAME=&file& SIZE=&30& onchange=&getFileSize(this.value)&>   
</body> 
<script type=&text/javascript&>
function getFileSize(filePath)
{
   var image=new Image();
   image.dynsrc=filePath;
   alert(image.fileSize);
}
</script>
<body>
<INPUT TYPE=&file& NAME=&file& SIZE=&30& onchange=&getFileSize(this.value)&>
</body>


经测试,得到文件大小,并未出现安全提示,推荐,没的说

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消